原文地址:Vim實戰指南(六):環境偏好配置shell
有沒有想過讓你的vi環境不同凡響?vi能夠將你的環境偏好配置保存下來,甚至支持配置腳本,自定義快捷鍵,和Unix命令行交互,這些便利將進一步提升你的編輯速度。編程
vi使用ex命令進行環境配置,在前面你已經使用過:set nu來添加行號。
在vi中,環境配置分爲兩類:開關型和值類型,如:bash
:set nu:開關型,打開行號 :set nonu:開關型,關閉行號,前面加no表示關閉 :set shell=/bin/bash:值類型,將shell解析器設置爲/bin/bash
你能夠經過下面的ex命令,看到你的vi支持的全部配置:工具
:set all
在vi中進行的環境配置,一般在退出vi後會失效。vi啓動時會讀取.exrc文件,所以能夠將你的自定義配置保存在.exrc文件中。
在你的當前用戶下(Unix的~目錄),打開或新建.exrc文件:命令行
$ vi ~/.exrc
在打開的文件中,輸入:code
set nu
這樣會使你用vi打開文件時,自動增長行號。
注意,vi啓動時會自動讀取當前用戶的.exrc文件進行解析,所以不須要在命令前面加:(:的意思是使用ex解析器)。
vi容許使用不一樣的.exrc文件,要打開此功能,首先打開剛纔的~/.exrc文件,輸入:排序
set exrc
而後咱們在當前路徑下新建一個.exrc文件,在裏面輸入:開發
set nonu
如今,每次使用vi打開文件時,會首先讀取當前路徑下的.exrc文件,所以咱們在當前路徑下使用vi打開的文件,再也不帶有行號。get
vi的ex命令一樣可使用Unix命令行工具,這樣省去你退出vi輸入命令後再從新打開vi的尷尬。
在vi中,輸入:!來執行命令行工具,如:io
:!ls
將列出當前目錄下的全部文件。
你甚至可使用:
:!sh
來打開一個新的解析器,這樣就省去了經過ex一行一行輸入命令的時間,你能夠在使用完sh後,經過Ctrl+D回到vi。
若是你須要對當前文件進行排序怎麼辦?強大的ex徹底支持:
:3,6!sort:對3到6行使用Unix的sort工具進行排序
你甚至能夠不使用ex,而採用vi的命令行來實現:
3!!sort:將光標及後3行使用Unix的sort工具進行排序
編程的時候,有些頻率很高的詞,你但願能少敲幾個字符,如function(),咱們可使用下面的ex命令:
:ab fu function()
這樣當你在編輯模式輸入fu的時候(注意只是fu,func不行),vi會自動轉義爲function(),和代碼自動補全相比,有沒有似曾相識的感受?
你一樣能夠將快捷鍵保存到.exrc文件中。
除了編輯模式,vi也支持命令行模式的快捷鍵,你能夠將一些經常使用的組合命令保存爲快捷鍵:
:map T dwelp
當你在命令行模式中輸入T時,將交換當前單詞和後面的單詞的順序,爲何?由於:
dw:刪除當前單詞
e:移動當下一個單詞的末尾
l:向右移動
p:將剛纔刪除的單詞放置在此處
是否是有一種恍然大悟的感受?你能夠經過這種方式,建立更多巧妙的快捷鍵。
本文介紹了vi中的環境偏好設置,經過強大的命令行以及快捷鍵工具,自定義你的vi環境,能讓你節省大量的開發時間!