2021-05-12 14:32:11
更好的使用 Vim
改鍵
我之前一直以為改鍵的操作做沒有必要,但是在嘗試了一個月以後我已經沒辦法重新使用別人的鍵盤了 ———— 太慢了。
改建的意義在於將 Ctrl 對映到 Caps Lock 上。原因在於小拇指很容易按到這個大寫鎖定而很難按到原來 ctrl 的位置。
改鍵對於 Emacs 使用者更為重要。
Tmux
我一直把 Ubuntu 作為工作寫程式碼的作業系統,終端對於我來說有僅次於文字編輯器使用頻率。
Tmux 不需要有很牛逼的技巧,我每次只是分割視窗而已,沒有什麼高階操作。
C-b
加上 %
就可以切分視窗,想要切換的時候就 C-b
加上 →
就是轉到右邊的視窗,同理,左邊也是一樣。
安裝很簡單 sudo apt install tmux
即可。
Plugins
有外掛的 Vim 和沒有外掛的 Vim 是兩款編輯器。
我推薦的做法是安裝 vundle.vim作為 vim 的包管理器,安裝方法文件裡面有。我只是介紹這麼個東西而已。親手實踐才能印象深刻。
之後推薦一個網站vimawesome.com這裡有 vim 的外掛集合,可以看到大部分外掛的資訊。
然後給一個我自己的外掛列表:
Plugin 'VundleVim/Vundle.vim'
Plugin 'bling/vim-airline'
Plugin 'kien/ctrlp.vim'
Plugin 'scrooloose/nerdcommenter'
Plugin 'scrooloose/nerdtree'
Plugin 'Raimondi/delimitMate'
Plugin 'lepture/vim-css'
Plugin 'wavded/vim-stylus'
Plugin 'fatih/vim-go'
Plugin 'SirVer/ultisnips'
Plugin 'gosukiwi/vim-atom-dark'
Plugin 'pangloss/vim-javascript'
Plugin 'mattn/emmet-vim'
主題顏色是 atom-dark
我曾試用過 material theme, 但是我覺得太醜了,完全沒有在 sublime 上的美感,所以還是換了。
ctrlp 是快速搜尋檔案用的,說實話真的超級有必要。它給我養了個壞習慣:再也受不了 webstorm 的搜尋功能了。
nerdcommenter 是用來快速註釋和反注釋的,很明顯沒有 sublime 智慧,但是一直沒有找到比較好的替代品。
nerdtree 是檔案樹列表。真神器。自從我讀了一遍 help 以後才發現它上天入地無所不能
airline 純粹是裝飾用的。對我來說沒什麼實質作用。但是我一天九個小時都對著這貨不好看一點兒怎麼受得了。
delimitMate 自動補全"
這些東西。
下面的css
, stylus
, go
, javascript
都是語言加強的
ultisnips 是快速程式碼片段,像是每個檔案都有的頭注釋,框架的東西都可以放在裡面。大量寫程式碼的時候是神器。
快捷鍵
vim 本身的快捷鍵快得有些不講道理。以至於難以記憶。
一開始看 vim 的快捷鍵會覺得是在看譚浩強的書。到處都是莫名其妙的簡寫。然而所有的鍵位都是有明確意義的。下次再看到某些簡寫的時候試著按照下面的列表理解一下:
d | delete(刪除) |
y | yank(貼上) |
c | change(改變) |
v | view(檢視) |
o | open(開啟) |
r | replace(更換) |
w | word(單詞) |
u | undo(復原) |
當然,有幾個鍵完全是不講道理,為了效率而做的,比如hjkl
這四個。
還有神奇的.
操作,可以重複上一個操作。非常非常有用的技巧。不過我不準備說太多,我認為這些東西更多的在自己的實踐和領悟。
vim 有個神奇的<Leader>
鍵,我將其對映在了;
上,因為離右手小拇指比較近,容易按,而且和正常的鍵並沒有很多功能上的衝突。
下面是個人對於外掛的鍵位設定:
我將 nerdtree 的 toggle 對映在了;t
上,沒有什麼原因,純粹是手感好。
;cc
是注釋, ;cu
是取消註釋。這個鍵位是跟 jeffway 學來的,一直覺得不是很好按,但是習慣了也還好。
其他的倒沒什麼特別了
常用操作
我雖沒有幾十年的 vim 使用經驗,然而還是有一些自己認為比較常用的操作的。
我平常不太喜歡用buffer,更多的是用tab來做,因為tab更容易觀察得到。
所以下面的一些快捷鍵比較常用了:
gt
: tab切換
Ctrl-w-h
, 當前視窗切換,我認為這個組合鍵的的意思是 w 代表 window, Ctrl 只是字首。後面的hjkl就是上下左右了。
深入外掛
對於外掛,我有些要說的。
外掛的設定在我看來還是挺複雜的。
比如 ctrlp 你需要把 node_modules 這些沒用的東西 ignore 掉,
對於 airline 你需要下載 powerline-fonts 來讓它顯示三角形。
在nerdtree
中可以按r
重新整理當前節點,按m
有更多選項,在m
中可以新建檔案刪除檔案什麼的操作。
在 ultisnips 中還要自己寫自己的snippets
我覺得深入外掛才能更好的應用它們,才會更加理解這些外掛的強大。要知道寫這些外掛的各個都是大牛,他們可不能忍受自己做出來傻逼產品!
更多Vim相關教學見以下內容:
Vim學習指南 http://www.linuxidc.com/Linux/2013-08/89096.htm
快速學會 Vi編輯器 http://www.linuxidc.com/Linux/2013-08/88586.htm
強大的Vim 編輯器 http://www.linuxidc.com/Linux/2013-07/87544.htm
在CentOS 6.2上搭建Vim開發環境 http://www.linuxidc.com/Linux/2013-07/87363.htm
把Vim打造成優秀的C++ IDE http://www.linuxidc.com/Linux/2016-06/132262.htm
Vim技巧分享:C語言設定 http://www.linuxidc.com/Linux/2012-12/77124.htm
Ubuntu中設定Vim的行號 http://www.linuxidc.com/Linux/2012-12/75485.htm
本文永久更新連結地址:http://www.linuxidc.com/Linux/2016-07/133391.htm
相關文章