有10種東西學了記不住,00是正則表達式,10就是Vim了。python
最近在用python寫個side project,我一個按鍵盤的,又沒什麼太多的閒錢去購買高大上的IDE,不得已開始用上了學的好多遍都沒學會的Vim。Vim有多牛X,隨便問一個代碼工程師便知,但其學習難度,實在是讓不少人望而卻步, 期間不知有多少次帶開TextWrangler或者Xcode去寫代碼,實在是由於Vim連基本的用法都還不清楚,反而減小了效率git
如下列出最近經常使用的VIM技巧github
保存正則表達式
:x 保存並退出(:wq)
移動vim
//line ^ 當前一行內容的起點(正則表達式用這個做爲開頭) $ 當前一行內容的終點(正則表達式用這個做爲結尾) gg 文件第一行 G 文件最後一行 [行數]G 第n行(第n行) //word b 當前 或 上一個單詞的第一個字母(back or beginning) w 下一個單詞第一個字母(word) e 當前 或 下一個單詞的最後一個字母(end) W 下一個單詞第一個字母(單詞:只要沒背空格分割即視爲同一個單詞,例如self.say("你好", |單詞分界線| "hello_world") B 當前或上一個單詞的第一個字母(同上) E 當前或下一個單詞的最後一個字母(同上) //paragraph { 上一個段落開始 } 下一個段落開始 //parenthesis A.K.A () {} [] % 找到下一組括號 或 跳到與當前必配的另外一個括號
設置行數網絡
//python常常抱怨說第幾行代碼出了問行,顯示行數會讓你以爲舒服一些 :set nu 顯示行數 :set nu! 隱藏行數
拷貝粘貼ide
/*** 外部應用->vim ***/ //常常好好的一段網絡代碼,粘貼到Vim又變成梯田了 :set paste //粘貼以前 //ctrl + v :set nopaste //粘貼結束
/*** vim->外部應用 ***/ :set clipboard=unnamed //粘貼以前 //copy in vim //⌘+v
窗口切換學習
:sv <文件名> //垂直窗口打開新文件 :vs <文件名> //水平窗口打開新文件 crl h|j|k|l //須要一下配置: map <C-j> <C-W>j map <C-k> <C-W>k map <C-h> <C-W>h map <C-l> <C-W>l
歷史文件code
:ls //瀏覽歷史文件列表 :b <數字> //打開對應文件
搜索blog
:noh 清理當次搜索高亮的部分
參考文章:
https://realpython.com/blog/python/vim-and-python-a-match-made-in-heaven/#vim-extensions
http://www.alexeyshmalko.com/2014/youcompleteme-ultimate-autocomplete-plugin-for-vim/