摘要:當(dāng)下次從版本管理器下載項(xiàng)目后,直接執(zhí)行引入變量到項(xiàng)目配置文件中參數(shù)形式調(diào)用鍵值對(duì)形式調(diào)用環(huán)境變量調(diào)用設(shè)置開發(fā)環(huán)境上下文在項(xiàng)目配置文件中加入配置項(xiàng)。
前言
?雖然tmux能讓我們方便組織工作環(huán)境,但每次重新打開會(huì)話時(shí)都需要手動(dòng)重新創(chuàng)建窗口、窗格和執(zhí)行各種程序,能不能像VS那樣以工程為單位保存窗口、窗格和各種所需執(zhí)行的程序的信息呢?tmuxinator恰恰能解決我們這個(gè)需求!
安裝與配置?安裝gem
$ sudo apt install gem $ gem sources --remove https://rubygems.org --add http://gems.ruby-china.org/
?確保gem的源有且僅有http://gems.ruby-china.org/
$ gem sources -l
?安裝Tmuxinator
$ gem install tmuxinator
?配置別名mux和tmuxinator子命令智能補(bǔ)全
自動(dòng)根據(jù)使用的shell(bash,zsh,fish)下載配置腳本,并啟用配置。
$ if [[ $SHELL == *fish* ]];then pushd ~/.config/fish/completions/; else pushd ~/.tmuxinator/; fi && curl -O "https://raw.githubusercontent.com/tmuxinator/tmuxinator/master/completion/tmuxinator.$(basename $SHELL)" && popd && if [[ $SHELL != *fish* ]];then echo "source ~/.tmuxinator/tmuxinator.$(basename $SHELL)" >> ~/.$(basename $SHELL)rc; fi && if [ -z $EDITOR ];then echo "export EDITOR="vim"" >> ~/.$(basename $SHELL)rc; fi && source ~/.$(basename $SHELL)rc入門
1.創(chuàng)建并編輯項(xiàng)目配置,mux n
示例:
$ mux n demo
然后進(jìn)入項(xiàng)目配置編輯界面
# ~/.tmuxinator/demo.yml # 默認(rèn)配置 name: demo #項(xiàng)目(配置)名稱,不要包含句號(hào) root: ~/ #項(xiàng)目的根目錄,作為后續(xù)各命令的當(dāng)前工作目錄使用 windows: - editor: # 配置名稱為editor的窗口 layout: main-vertical # 由于editor下存在多個(gè)窗格,因此需要layout可以設(shè)置布局(5個(gè)默認(rèn)值even-horizontal,even-vertical,main-horizontal,main-vertical,tiled) panes: - vim # 配置一個(gè)窗格運(yùn)行vim - guard # 配置另一個(gè)窗格運(yùn)行g(shù)uard - server: bundle exec rails s # 配置名稱為server的窗口, 且僅有一個(gè)執(zhí)行bundle exec rail s的窗格 - logs: tail -f log/development.log # 配置名稱為logs的窗口, 且僅有一個(gè)執(zhí)行tail -f log/development.lgo的窗格
根據(jù)修改配置得到如下
# ~/.tmuxinator/demo.yml name: demo root: ~/repos/demo/ pre_window: nvm use 4 windows: - editor: vim index.html - server: npm run dev - stats: layout: even-horizontal panes: - npm run watch:html - npm run watch:css - npm run watch:js - note: root: ~/repos/note/ # 可在窗口下通過root來(lái)配置該窗口下各命令的當(dāng)前工作目錄 panes: - vim pugjs.md
然后保存文件就OK了!
2.打開項(xiàng)目(i.e.根據(jù)項(xiàng)目配置啟動(dòng)tmux會(huì)話),mux
示例:
$ mux demo
然后tmuxinator就會(huì)創(chuàng)建一個(gè)tmux會(huì)話,并根據(jù)剛才編輯的配置文件創(chuàng)建窗口和窗格
3.關(guān)閉項(xiàng)目(i.e.根據(jù)項(xiàng)目配置關(guān)閉tmux會(huì)話),mux st
示例:在tmux某個(gè)shell中輸入
$ mux st demo
4.編輯項(xiàng)目配置,mux e
5.查看現(xiàn)有項(xiàng)目配置,mux l
6.刪除項(xiàng)目(i.e.刪除現(xiàn)有項(xiàng)目配置),mux d
7.修改項(xiàng)目配置名稱,mux c
1.項(xiàng)目配置文件路徑隨心玩
?眼利的同學(xué)可能會(huì)發(fā)現(xiàn)當(dāng)我們輸入mux n demo后創(chuàng)建的配置文件首行為# ~/.tmuxinator/demo.yml,這個(gè)正是demo這個(gè)項(xiàng)目配置文件的路徑。也就是說(shuō)默認(rèn)情況下項(xiàng)目配置將保存在~/.tmuxinator/下,并以項(xiàng)目名稱.yml作為文件名。這樣我們就能在任意目錄下通過命令mux
?但一旦誤刪了項(xiàng)目配置那么就要重新設(shè)置了,能不能把它也挪到項(xiàng)目中通過版本管理器(git etc.)作保障呢?必須可以的哦!
# 假設(shè)項(xiàng)目目錄為~/repos/demo/ $ mv ~/.tmuxinator/demo.yml ~/repos/demo/.tmuxinator.yml && ln -s ~/repos/demo/.tmuxinator.yml ~/.tmuxinator/demo.yml
?那么除了通過mux
?當(dāng)下次從版本管理器下載項(xiàng)目后,直接執(zhí)行
$ ln -s ~/repos/demo/.tmuxinator.yml ~/.tmuxinator/demo.yml
2.引入變量到項(xiàng)目配置文件中
?參數(shù)形式
# ~/.tmuxinator/demo.yml name: demo root: ~/<%= @args[0] %> .........
調(diào)用mux demo args0 args1
?鍵值對(duì)形式
# ~/.tmuxinator/demo.yml name: demo root: ~/<%= @settings["ws"] %> .........
調(diào)用mux demo ws="repos/demo/"
?環(huán)境變量
# ~/.tmuxinator/demo.yml name: demo root: ~/<%= ENV["ws"] %> .........
調(diào)用set $ws="repos/demo/" && mux demo
3.設(shè)置開發(fā)環(huán)境上下文
?在項(xiàng)目配置文件中加入pre_window配置項(xiàng)。
示例:
name: demo root: ~/repos/demo pre_window: nvm use 4總結(jié)
?尊重原創(chuàng),轉(zhuǎn)載請(qǐng)注明來(lái)自:http://www.cnblogs.com/fsjohn... ^_^肥仔John
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/24897.html
摘要:本配置比較適合前端開發(fā)人員,打造開發(fā),自動(dòng)補(bǔ)全使用效率好的已解決安裝卻提示需要的問題提示安裝常用工具及,如使用工具不一樣的,可自已進(jìn)行相關(guān)配置詳細(xì)配置安裝安裝插件所需的已在初使化環(huán)境中配置完成適合前端相關(guān)開發(fā),設(shè)置參考許可證 Ren Chunhuis Dotfiles 本配置比較適合Web前端開發(fā)人員,打造 iTerm + Zsh + Vim/NeoVim + Tmux] 開發(fā),自動(dòng)補(bǔ)...
摘要:如果你問一個(gè)年輕的前端開發(fā)人員,你在今后的年內(nèi)如何提升自己的能力他可能會(huì)說(shuō)我現(xiàn)在對(duì)前端比較熟悉,但我想深入了解,另外現(xiàn)在發(fā)展的很快我也想看一下。再舉一個(gè)例子,我會(huì)留意身邊的程序員所用的鍵盤。只有少部分的程序員會(huì)買高端的靜電容鍵盤,比如。 如果你問一個(gè)年輕的前端開發(fā)人員,你在今后的 3 年內(nèi)如何提升自己的能力?他可能會(huì)說(shuō)我現(xiàn)在對(duì) Web 前端比較熟悉,但我想深入了解 AngularJS,...
摘要:為啥需要,因?yàn)槟芨旄奖愕倪M(jìn)行代碼提示與代碼補(bǔ)全,每個(gè)人的精力都是有限的,能打一個(gè)字母出來(lái)結(jié)果就絕對(duì)不打第二個(gè)。 tools zsh為啥需要zsh,因?yàn)槟芨旄奖愕倪M(jìn)行代碼提示與代碼補(bǔ)全,每個(gè)人的精力都是有限的,能打一個(gè)字母出來(lái)結(jié)果就絕對(duì)不打第二個(gè)。 plugins=(git brew mvn svn svn-fast-info sbt go pip zsh-syntax-high...
閱讀 2480·2021-09-27 13:36
閱讀 2172·2019-08-29 18:47
閱讀 2140·2019-08-29 15:21
閱讀 1404·2019-08-29 11:14
閱讀 1989·2019-08-28 18:29
閱讀 1634·2019-08-28 18:04
閱讀 581·2019-08-26 13:58
閱讀 3217·2019-08-26 12:12