乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      文本三巨頭zsh、tmux 和 vim

       昵稱14979747 2015-05-08

      公元前62年,凱撒 組建了一個包含了他自己, 政治家克拉蘇,以及軍事領(lǐng)袖龐培三人的政治聯(lián)盟。 這三個人一起組成了一個秘密政治小組,稱為 Triumvirate(三巨頭),來統(tǒng)治羅馬共和國。 而文本三巨頭則是 zsh、vim 和 tmux。 這三個令人尊敬的工具本身已經(jīng)非常強大,然而它們的組合卻更加所向披靡,把其他文本編輯組合甩開了 N 條街。本文旨在向剛接觸各類工具的新手們簡述如何建立一個既強大又容易配置的文本三巨頭。我想把主要的篇幅放在如何將 zsh、vim 和 tmux 整合起來,并主要講述了我如何解決兩個常見的問題——復(fù)制/粘貼功能和顏色配置。

      (題圖來自:deviantart.net)

      跟Rands一樣,我對工具非常癡狂。我認(rèn)為文本三巨頭是最強大的文本編輯的工具鏈。如果你不使用這個工具鏈,那么我會建議你先干了這杯酒,然后嘗試使用文本三巨頭。如果你每天花費大量的時間在文本中糾纏,那么你更應(yīng)該接受我的建議。一開始換工具或許會有些不習(xí)慣,但是你的努力會得到回報的。使用 zsh、vim 和 tmux 的好處就在于免費使用,速度快,可任意定制,在任何操作系統(tǒng)上都能使用,可在遠(yuǎn)程環(huán)境中使用,還在于可以實現(xiàn)遠(yuǎn)程結(jié)對編程,以及互相之間,和與 Unix 之間深度的整合。最終純文本編輯的效率和組織性將會得到很大提升。該工具鏈可以完全由 git 管理,并且可以再幾秒鐘的時間內(nèi)克隆到一臺遠(yuǎn)程服務(wù)器或是一臺新的機器上??偟膩碚f,它們的這些優(yōu)點讓使我在寫作和編程上變得更快,更有效率。

      文本三巨頭的一個巨大的優(yōu)勢在于對用于管理工作環(huán)境的分屏模型的普遍使用。分屏模型管理允許tmux像粘合劑一樣組織工作流。通常在一天的結(jié)尾,我會發(fā)現(xiàn)我留下了一些shell窗口和一大堆的臨時文件,數(shù)據(jù)文件,源代碼文件,文檔文件,還有打開的數(shù)據(jù)庫。把這些窗口一個個關(guān)掉然后第二天再把它們打開是非常痛苦的一件事。tmux和vim支持對一個特定的項目打開大量的窗格和窗口,如果你希望轉(zhuǎn)換到另一個完全不同的項目,你可以從這些窗口分離出來轉(zhuǎn)向另外一個項目,然后再按原樣返回這些窗口。在一時間段內(nèi),我通常同時在多個工作和個人的項目上進行工作。在多個工作環(huán)境中來回切換的能力對我來說非常重要。(Thoughtbot blog 中有對 tmux 中窗口和窗格的使用的講解)

      下面是——包裝在tmux中的zsh和vim:

      0?wx_fmt=jpeg

      我建議給文本三巨頭設(shè)置兩種顏色主題——一個主題給工作上的項目而另外一個給個人項目。我是情景依賴記憶的重度使用者,因此使用兩個主題在認(rèn)識和區(qū)分工作項目和個人項目上給予我很大的幫助。如圖,下面是我的個人主題(左),以及工作主題(右)。兩個主題都是Ethan Schoonover 的solarized 項目中的版本。我在玩的時候使用暗調(diào)主題,是因為我通常在清晨或傍晚天空還處在黑暗中時搞自己的項目。暗調(diào)主題可以在這些時候讓我的眼睛得到舒緩。關(guān)于字體,我用的是 14 point 的 Inconsolata。

      0?wx_fmt=jpeg

      首先要做的事將大寫鎖定鍵(Caps Lock)重映射到Control 鍵上。大寫鎖定鍵是個歷史遺留問題,這個在鍵盤上的黃金位置的鍵需要被更好的利用。在tmux中對Control鍵的使用非常頻繁,因此將Control鍵重映射到一個符合人體工程學(xué)的位置對我們很有幫助。

      想要給三巨頭創(chuàng)建一個強大的工作環(huán)境,我們可以下載 iTerm2 終端模擬器。iTerm2 比普通的終端應(yīng)用具有更強的性能,更多的特性和更靈活的定制化。當(dāng)你開始使用iTerm2時,請回頭閱讀全部文檔看看它能為你做什么。其中一個特性是Command-?,顯示出一個視窗幫助你快速地找到你當(dāng)前的光標(biāo)位置。大部分iTerm2非??犰诺墓δ鼙疚亩紱]有提及。請確保你了解了iTerm2的即時回放,正則查詢,點擊打開URL,以及標(biāo)記跳轉(zhuǎn)的功能。

      當(dāng)iTerm2安裝完成,即可添加亮調(diào)和暗調(diào)主題。solarized 庫中含有iTerm2調(diào)色板和 配置iTerm2主題的說明,所以它的安裝簡潔明了。另一項對使用iTerm2有用的配置是啟用系統(tǒng)級別的綁定鍵,通過該鍵可以讓iTerm2轉(zhuǎn)為最前面的窗口。我發(fā)覺設(shè)置一個具體的綁定比使用應(yīng)用切換器(Command-Tab)要快的多。該設(shè)置在Preferences > Keys中,而我使用的綁定鍵是Option-t。關(guān)于自定義,我還有一個建議,那就是在 Profiles > Terminal > Notifications中撤銷選中iTerm2 的響鈴聲。

      由于文本三巨頭的操作高度集中在鍵盤上,因此,在你配置和形成自己的肌肉記憶之前,將iTerm, zsh, vim, tmux,和其他任何你之前使用的工具之間的快捷鍵沖突消除是非常明智的選擇。做窗口移動時,我使用Option 鍵。Option-t將iTerm2移到屏幕前,而Option-i將Twitter移到屏幕前,等等。我還使用Moom 作為我在OS X上的平鋪式窗口管理器,并將所有的快捷鍵配置為使用Option 鍵將窗口移至屏幕上特定的展示窗口或位置上。

      接下來,安裝Homebrew 然后使用它去安裝git,MacVim,tmux和reattach-to-user-namespace(返回用戶命名空間)。安裝MacVim有兩個原因。第一,默認(rèn)的OS X自帶的vim似乎對很多人來說很慢。我發(fā)現(xiàn)使用MacVim中的vim比OS X版本的vim要快很多。另外一個安裝MacVim的好處是你的系統(tǒng)將得到一個更新版本的vim。第二個原因則是復(fù)制/粘貼的使用在OS X版本的vim中并沒有得到優(yōu)化。

      安裝完git,就可以新建一個存儲庫來放置文本三巨頭的設(shè)置文件。我的存儲庫命名為dotfiles 并存儲了我的所有zsh, vim, and tmux配置文件。如果你不知道怎么為你的文件設(shè)置版本控制,請閱讀Pro Git 或者 Git Immersion。

      已經(jīng)有很多文章寫到了如何使用zsh以及為什么zsh比bash強大?;旧?,bash有的功能zsh都有,而且zsh的一些特性bash是沒有的。我使用zsh而不是bash是因為它有擴展的globbing(通配符),更好用的tab補全,內(nèi)建的拼寫糾正,一個更好的計算器(zcalc),以及一個內(nèi)建的批重命名文件工具(zmv)。zsh的另外一個殺手級特色是oh-my-zsh——一個zsh的社區(qū)驅(qū)動的框架。oh-my-zsh預(yù)先打包好了很不錯的主題,插件,以及讓zsh極度強大的配置。如果你想學(xué)習(xí)本文的話,請安裝iTerm2并將zsh作為你的默認(rèn)shell。

      我將我的 .zshrc、 .vimrc 和 .tmux.conf 配置文件保存在 dotfiles 目錄中,并用 symlink 在 home 目錄下創(chuàng)建鏈接。這樣我就能只在一個目錄里做zsh、vim 和tmux的配置的版本控制了。文本三巨頭使用了vim,那么我們應(yīng)該讓zsh和tmux也使用vim以及它的綁定鍵并將vim設(shè)置為默認(rèn)編輯器。將下面的文本加到.zshrc文件中,讓zsh支持vim:

      export EDITOR="vim"

      bindkey -v

      # vi style incremental search

      bindkey '^R' history-incremental-search-backward

      bindkey '^S' history-incremental-search-forward

      bindkey '^P' history-search-backward

      bindkey '^N' history-search-forward

      zsh不僅支持大多數(shù)bash命令,還支持更多的智能命令。比如,如果你想在bash中移動到一個目錄里,你可能會輸入cd foo。而在zsh中如果你將下面一行加入到.zshrc中,你只需要輸入foo即可。

      setopt AUTO_CD

      為了設(shè)置一個好的命令行提示,我參考了Steve Losh’s excellent prompt然后做了一些小改動。只需要簡單地在oh-my-zsh/themes/中創(chuàng)建一個新的主題文件并在你的zshrc文件中添加一行對應(yīng)你的主題文件的文本(ZSH_THEME=bunsen)。這是我的修改后的Steve的命令行提示:

      function virtualenv_info {

      [ $VIRTUAL_ENV ]&& echo '('`basename $VIRTUAL_ENV`') '

      }

      function box_name {

      [-f ~/.box-name ] && cat ~/.box-name || hostname -s

      }

      PROMPT='

      %{$fg[magenta]%}%n%{$reset_color%} at %{$fg[yellow]%}$(box_name)%{$reset_color%} in %{$

      fg_bold[green]%}${PWD/#$HOME/~}%{$reset_color%}$(git_prompt_info)

      $(virtualenv_info)%(?,,%{${fg_bold[blue]}%}[%?]%{$reset_color%} )$ '

      ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[magenta]%}"

      ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"

      ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[green]%}!"

      ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[green]%}?"

      ZSH_THEME_GIT_PROMPT_CLEAN=""

      local return_status="%{$fg[red]%}%(?..?)%{$reset_color%}"

      RPROMPT='${return_status}%{$reset_color%}'

      原文:http://www./the-text-triumvirate/
      譯文:http://blog./86571/譯者: 鴨梨山大

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多