NERD_tree.vim
[NERD_tree.vim]-主要功能是一款文件瀏覽器,可以查看文件目錄結(jié)構(gòu)打開相應(yīng)的文件
下面總結(jié)一些命令
ctrl + w + h 光標(biāo) focus 左側(cè)樹形目錄ctrl + w + l 光標(biāo) focus 右側(cè)文件顯示窗口ctrl + w + w 光標(biāo)自動(dòng)在左右側(cè)窗口切換 ctrl + w + r 移動(dòng)當(dāng)前窗口的布局位置
快捷鍵
o 在已有窗口中打開文件葫哗、目錄或書簽,并跳到該窗口go 在已有窗口 中打開文件球涛、目錄或書簽劣针,但不跳到該窗口t 在新 Tab 中打開選中文件/書簽,并跳到新 TabT 在新 Tab 中打開選中文件/書簽亿扁,但不跳到新 Tabi split 一個(gè)新窗口打開選中文件捺典,并跳到該窗口gi split 一個(gè)新窗口打開選中文件,但不跳到該窗口s vsplit 一個(gè)新窗口打開選中文件从祝,并跳到該窗口gs vsplit 一個(gè)新 窗口打開選中文件襟己,但不跳到該窗口! 執(zhí)行當(dāng)前文件O 遞歸打開選中 結(jié)點(diǎn)下的所有目錄x 合攏選中結(jié)點(diǎn)的父目錄X 遞歸 合攏選中結(jié)點(diǎn)下的所有目錄e Edit the current dif雙擊 相當(dāng)于 NERDTree-o中鍵 對(duì)文件相當(dāng)于 NERDTree-i,對(duì)目錄相當(dāng)于 NERDTree-eD 刪除當(dāng)前書簽P 跳到根結(jié)點(diǎn)p 跳到父結(jié)點(diǎn)K 跳到當(dāng)前目錄下同級(jí)的第一個(gè)結(jié)點(diǎn)J 跳到當(dāng)前目錄下同級(jí)的最后一個(gè)結(jié)點(diǎn)k 跳到當(dāng)前目錄下同級(jí)的前一個(gè)結(jié)點(diǎn)j 跳到當(dāng)前目錄下同級(jí)的后一個(gè)結(jié)點(diǎn)C 將選中目錄或選中文件的父目錄設(shè)為根結(jié)點(diǎn)u 將當(dāng)前根結(jié)點(diǎn)的父目錄設(shè)為根目錄牍陌,并變成合攏原根結(jié)點(diǎn)U 將當(dāng)前根結(jié)點(diǎn)的父目錄設(shè)為根目錄擎浴,但保持展開原根結(jié)點(diǎn)r 遞歸刷新選中目錄R 遞歸刷新根結(jié)點(diǎn)m 顯示文件系統(tǒng)菜單 #!6窘А退客!然后根據(jù)提示進(jìn)行文件的操作如新建,重命名等cd 將 CWD 設(shè)為選中目錄I 切換是否顯示隱藏文件f 切換是否使用文件過濾器F 切換是否顯示文件B 切換是否顯示書簽q 關(guān)閉 NerdTree 窗口? 切換是否顯示 Quick Help
命令模式
:tabnew [++opt選項(xiàng)] [+cmd] 文件 建立對(duì)指定文件新的tab:tabc 關(guān)閉當(dāng)前的 tab:tabo 關(guān)閉所有其他的 tab:tabs 查看所有打開的 tab:tabp 前一個(gè) tab:tabn 后一個(gè) tab標(biāo)準(zhǔn)模式下:
gT 前一個(gè) tabgt 后一個(gè) tabMacVim 還可以借助快捷鍵來完成 tab 的關(guān)閉链嘀、切換cmd+w 關(guān)閉當(dāng)前的 tabcmd+{ 前一個(gè) tabcmd+} 后一個(gè) tab
mark.vim
[mark.vim]-主要的功能是變量的高亮,允許你在文本中放置自定義的標(biāo)記
在編輯的時(shí)候,你忽然想起來需要修改同一個(gè)文檔的另一個(gè)地方档玻,但又想記住當(dāng)前的位置怀泊,以便稍后再回來編輯。應(yīng)該怎么做呢?vim中我們可以對(duì)文本進(jìn)行標(biāo)記误趴,這個(gè)概念類似于visual studio中的書簽霹琼,目的是方便vim編輯器在文檔的不同位置間跳轉(zhuǎn)。正常情況下,這意味著要移動(dòng)到那個(gè)位置枣申,編輯售葡,然后再移回來。這樣很費(fèi)事忠藤,也容易忘記剛才所在的位置挟伙。有更聰明的辦法。移動(dòng)光標(biāo)到下述文本的第5行(John Lennon的名言)模孩。用ma創(chuàng)建一個(gè)名為'a'的標(biāo)記尖阔。移動(dòng)光標(biāo)到任一地方,比如,4j榨咐。按下’a(即介却,單引號(hào)加上標(biāo)記的名字),瞧Vim跳到了剛才做標(biāo)記的那一行的行首块茁。如果要跳到做標(biāo)記的位置齿坷,按下‘a(chǎn)(即,上排數(shù)字鍵1左邊那個(gè)鍵)∈福可以使用任一字母(a-zA-Z)去命名一個(gè)標(biāo)記永淌,意味著一個(gè)文件里最多可以有52個(gè)命名標(biāo)記。 添加標(biāo)記 將光標(biāo)移到某一行昌跌,使用 ma 命令添加標(biāo)記仰禀。其中,m 是標(biāo)記命令蚕愤,a 是所做標(biāo)記的名稱答恶。可以使用小寫字母 a-z 或大寫字母 A-Z 中的任意一個(gè)做為標(biāo)記名稱萍诱。小寫字母的標(biāo)記悬嗓,僅用于當(dāng)前緩沖區(qū);而大寫字母的標(biāo)記裕坊,則可以跨越不同的緩沖區(qū)包竹。例如,你正在編輯 File1籍凝,但仍然可以使 用'A 命令周瞎,移動(dòng)到 File2 中創(chuàng)建的標(biāo)記A。跳轉(zhuǎn)標(biāo)記 創(chuàng)建標(biāo)記后饵蒂,可以使用 'a 命令声诸,跳轉(zhuǎn)到指定標(biāo)記行的首個(gè)非空字符。這里 ' 是單引號(hào)退盯。也可以使用 'a 命令彼乌,移到所做標(biāo)記時(shí)的光標(biāo)位置泻肯。這里'是反引號(hào)(也就是數(shù)字鍵1左邊的那一個(gè))。列出標(biāo)記 利用:marks命令慰照,可以列出所有標(biāo)記灶挟。這其中也包括一些系統(tǒng)內(nèi)置的特殊標(biāo)記(Special marks):. ——最近編輯的位置0-9——最近使用的文件∧ ——最近插入的位置' ——上一次跳轉(zhuǎn)前的位置" ——上一次退出文件時(shí)的位置[ ——上一次修改的開始處] ——上一次修改的結(jié)尾處刪除標(biāo)記 如果刪除了做過標(biāo)記的文本行,那么所做的標(biāo)記也就不存了毒租。我們不僅可以利用標(biāo)記來快速移動(dòng)稚铣,而且還可以使用標(biāo)記來刪除文本,例如:在某一行用ma做了標(biāo)記蝌衔,然后就可以使用d'a來刪掉這一行榛泛。當(dāng)然,我們也可以使用y'a命令就可以來復(fù)制這一行了噩斟。使用:delmarks a b c命令曹锨,可以刪除某個(gè)或多個(gè)標(biāo)記;而:delmarks! 命令剃允,則會(huì)刪除所有標(biāo)記沛简。利用:help mark-motions命令,可以查看關(guān)于標(biāo)記的更多幫助信息斥废。命令小結(jié)m ——?jiǎng)?chuàng)建標(biāo)記' ——移動(dòng)到標(biāo)記的文本行首
——移動(dòng)到標(biāo)記的光標(biāo)位置:marks ——列示所有標(biāo)記:delmarks ——?jiǎng)h除指定標(biāo)記:delmarks! ——?jiǎng)h除所有標(biāo)記
commentary.vim
[commentary.vim]-主要功能是可以批量注釋單行或多行以及去除注釋椒楣;
gc:Visual模式下可以注釋選中的行g(shù)cc:普通模式下可以快速注釋一行g(shù)cu:可以撤銷注釋
multiple_cursors.vim
[multiple_cursors.vim]-多行、多光標(biāo)編輯
通過按 Ctrl + n 來多重選取牡肉。一旦選取完成捧灰,便可配合 Vim 既有的命令對(duì)其進(jìn)行編輯處理。最后按 Esc 可以退出多重選取狀態(tài)统锤。此外毛俏,你也可以使用 MultipleCursorsFind 命令通過正則表達(dá)式來進(jìn)行多重選取和編輯。
ctrlp.vim
[ctilp.vim]-主要功能是對(duì)系統(tǒng)文件進(jìn)行搜索
ctrl + j/k 進(jìn)行上下選擇ctrl + x 在當(dāng)前窗口水平分屏打開文件ctrl + v 同上, 垂直分屏ctrl + t 在tab中打開
neocomplcache
[neocomplcache.vim]-自動(dòng)補(bǔ)全插件
ctrl+n-對(duì)補(bǔ)全代碼向下選擇ctrl+p-對(duì)補(bǔ)全代碼向上選擇
emmet.vim
[emmet.vim]-HTML超級(jí)編寫利器,利用簡寫語法達(dá)到編寫目的饲窿。
Emmet的基本用法:先寫簡寫形式煌寇,然后用"<Ctrl+y>,"將其轉(zhuǎn)成HTML代碼基本規(guī)則:(1):E 代表HTML標(biāo)簽(2):E#id 代表標(biāo)簽E有id屬性(3):E.class 代表E有class屬性(4):E[attr=foo] 代表某個(gè)特定屬性(5):E{info} 代表標(biāo)簽E包含的內(nèi)容是info(6):E>N 代表N是E的子元素(7):E+N 代表N是E的同級(jí)元素(8):E^N 代表N是E的上級(jí)元素
vim-surround
[vim-surround]-這個(gè)插件可以快速的為字符串包圍/改變或去除引號(hào)/括號(hào)或者HTML標(biāo)簽
為單個(gè)單詞包圍
ysiw + '/"/(/[/{ :在命令模式下, 就可以為光標(biāo)下的一個(gè)單詞包圍上 '/"/(/[/{比如ysiw' :為光標(biāo)下的單詞包圍上單引號(hào)ysiw" :為光標(biāo)下單詞包圍上雙引號(hào), 依此類推.vim-surround 同時(shí)還支持包圍html標(biāo)簽, 將光標(biāo)放到某單詞試試下面指令:ysiwysiw<p class="meta">yssb :包圍一行,可以快速為一行包圍圓括號(hào),.yss + '/"/(/[/{ : 可以為正行快速包圍相應(yīng)的引號(hào)/括號(hào)比如yss" :為一行包圍雙引號(hào)
更改包圍
cs :可以更改包圍,比如cs'" :是將單引號(hào)變成雙引號(hào)cs"( :是將雙引號(hào)變成圓括號(hào)vim-surround支持將括號(hào)或者引號(hào)變更為html標(biāo)簽, 試試命令cs':將單引號(hào)換成
標(biāo)簽
去除包圍
ds:指令可以取出包圍, 后面需跟包圍的內(nèi)容,ds":是去除雙引號(hào)包圍, ``