vim是我最喜歡的編輯器,也是Linux下第二強大的編輯器。 雖然emacs是公認的世界第一,我認爲使用emacs並無使用vi進行編輯來得高效。 若是是初學vi,運行一下vimtutor是個聰明的決定。 (若是你的系統環境不是中文,而你想使用中文的vimtutor,就運行vimtutor zh)html
如下移動都是在normal模式下。java
上面的操做均可以配合n使用,好比在正常模式(下面會講到)下輸入3h, 則光標向左移動3個字符。linux
使用標記能夠快速移動。到達標記後,能夠用Ctrl+o返回原來的位置。 Ctrl+o和Ctrl+i 很像瀏覽器上的 後退 和 前進 。正則表達式
注意,相似cnw,dnw,ynw的形式一樣能夠寫爲ncw,ndw,nyw。算法
關於range的規定爲:編程
高級的查找替換就要用到正則表達式。vim
:help pattern獲得更多幫助。windows
g ^g能夠統計文檔字符數,行數。 將光標放在最後一個字符上,用字符數減去行數能夠粗略統計中文文檔的字數。 以上對 Mac 或 Unix 的文件格式適用。 若是是 Windows 文件格式(即換行符有兩個字節),字數的統計方法爲: 字符數 - 行數 * 2。瀏覽器
咱們能夠一次打開多個文件,如
vi a.txt b.txt c.txt
若是支持鼠標,切換和調整子窗口的大小就簡單了。
讓vim 正確處理文件格式和文件編碼,有賴於 ~/.vimrc的正確配置
大體有三種文件格式:unix, dos, mac. 三種格式的區別主要在於回車鍵的編碼:dos 下是回車加換行,unix 下只有 換行符,mac 下只有回車符。
下面的括號匹配對編程很實用的。
vim提供了:make來編譯程序,默認調用的是make, 若是你當前目錄下有makefile,簡單地:make便可。
若是你沒有make程序,你能夠經過配置makeprg選項來更改make調用的程序。 若是你只有一個abc.Java文件,你能夠這樣設置:
set makeprg=javac\ abc.java
而後:make便可。若是程序有錯,能夠經過quickfix窗口查看錯誤。 不過若是要正肯定位錯誤,須要設置好errorformat,讓vim識別錯誤信息。 如:
:setl efm=%A%f:%l:\ %m,%-Z%p^,%-C%.%#
%f表示文件名,%l表示行號, %m表示錯誤信息,其它的還不能理解。 請參考 :help errorformat。
實際上是quickfix插件提供的功能, 對編譯調試程序很是有用 :)
快速修改窗口在make程序時很是有用,當make以後:
當彈出補全菜單後:
normal模式下按:進入命令行模式