vim 經常使用指令

其餘命令

<c-L>  重繪屏幕
<c-z>  掛起vim回到shell,想繼續vim只須要輸入 fg
<c-x-f>  文件路徑提示
<c-N>  當前文件中的關鍵字提示
<C-X><C-O>  語義上的補全

:e main.html  更改文件名
:file main.html  更改正在編輯的文件名,不用保存
J 於下一行文本合併
 ZZ 保存退出
%  在括號間跳轉,配合v能夠選中代碼塊
~   光標下的字符轉化爲大寫
gd 相似f12

VI//  爲選中的行添加//註釋
:66,70s/^/\/\/    66-70行添加  //註釋
:66,70s/^\/\//   取消多行註釋

:Ve  在左側邊欄打開當前文件的目錄
enter  在當前窗口打開文件
o 打開一個水平分隔的窗口顯示文件
v 打開一個垂直分隔的窗口顯示文件
t 在一個新標籤頁中打開文件
:edit . 顯示當前目錄的內容

:cd dirtory 切換到dirtory目錄
:pwd 顯示當前工做目錄

:read index.html  讀入文件的內容放在當前行的後面

字符查找

fa 查找當前行光標後的 a文本, ";"分號重複命令,Fa 查找光標籤前的a
3fa 查找當前行光標後的第3個a文本
還有 ta ,2ta,移動到a的前面

/word + 回車  從當前的行向下查找 n向下切, N向上切

光標移動

塊級移動
 w跳到下一個word開頭  e  跳到當前word結尾
 b跳到上一個word開頭  ge跳到上一個word結尾  ctrl+ <

G     整個文檔的最後一行
gg    整個文檔的第一行行
3G 跳轉到3行, G意爲Go

H 當前page的第一行
M 當前page的中間行
L  當前文檔的最後一行

刪除文本

被刪除的文本均可以用p取回來, put

x 刪除當前光標下的字符("dl"的快捷命令)
X 刪除當前光標以前的字符("dh"的快捷命令)
D 刪除自當前光標至行尾的內容("d$"的快捷命令)
dw 刪除自當前光標至下一個 word 的開頭
db 刪除自當前光標至前一個 word 的開始
diw 刪除當前光標所在的 word(不包括空白字符)
daw 刪除當前光標所在的 word(包括空白字符)
dG 刪除當前行至文件尾的內容
dgg 刪除當前行至文件頭的內容

上面的d命令均可以用 c,y代替

4x  刪除4個文字
cw  刪除word並進入插入模式

dd 刪除一行,  
d$ 刪除到行尾的內容, d^
cc 改變整行

替換

R  輸入的文字會替換光標下的文字
<Insert>鍵能夠再 i 和 R 模式之間切換
<BS> 退格鍵能夠撤銷替換
ra  把光標下的文字替換爲a
4ra 把四個替換爲a

r<Enter>   替換爲一個換行符

:%s/name/ajanuw/g  默認執行所有name替換爲ajanuw
:%s/name/ajanuw/gc 每執行一次都須要贊成,仍是跳過
:1,5s/this/that/g   第 1 到第 5 行的文本執行替換操做,包括第 1 行和第 5行

複製粘貼

yy 複製當前行
yw 複製一個word

p 粘貼到光標後
P 粘貼到光標前

"*yy  複製
"*p  粘貼

「ay複製 "ap 粘貼,寄存器的名字爲[a-z]

撤銷

u 撤銷
U 塊級撤銷
 ctrl+r 返回上一步

縮進,對齊,摺疊

gg=G 是一個自動縮進的命令
== 整理當行
=  整理選中的行

:>>  設置縮進 http://vim.wikia.com/wiki/Shifting_blocks_visually
:<<

zf}  摺疊代碼  Docs: https://www.2cto.com/os/201203/122133.html
zo  展開代碼

編輯多個文件

從一個文件轉到另外一個文件
在不一樣文件之間複製粘貼html

編輯另外一個文件

:edit foo.txt  關閉當前文件,打開指定文件,當前文件未保存會出現錯誤信息
:e! foo.txt   縮寫,強制打開指定文件
錯誤有對應的 ID 號, :help E37  查看錯誤幫助

同時打開多個文件

vi a.ts main.lisp

:files  查看打開全部的文件
:wn 保存在進入下一個文件
:wN 保存在進入上一個文件
:2n  向後移動2個文件
:first  第一個文件
:last  最後一個文件

:args  當前處於哪一個文件 a.ts [main.lisp]

:args a.ts b.ts  不用退出vim你能夠定義新的編輯文件
:args *.lisp  打開全部lisp文件

ctrl+^ 快速切換文件,但不改變你的位置

`"  上次你離開該文件時光標所在的位置
`.   最後一次對文件作出改動處的位置

文件標記

mC 在當前位置添加標記
`C  調到標記處

保存一份原始文件

:set patchmode=.orign

分頁

簡寫 sp
:split   上下分頁
:split   index.html
:vsplit  左右分頁

<c-w>  點擊w在分屏中移動
// 移動窗口
CTRL-W H 到左邊的窗口
CTRL-W J 到下面的窗口
CTRL-W K 到上面的窗口
CTRL-W L 到右邊的窗口

<c-w 10 >>  增長當前屏幕的寬度 < 向右放大, > 向左放大,10表明次數
CTRL-W +    增長當前窗口高度
CTRL-W -    減少

:close    關閉當前窗口,阻止你關閉最後一個窗口
:only     關閉除當前窗口之外的窗口
:wall      保存全部窗口打開的文件
:qall      若是全部窗口打開的文件都已經保存,退出,若是有未保存的文件,跳轉到對應的窗口中
:wqall     保存並退出全部窗口。

nerdtree 經常使用指令

vi ./

t:在新標籤中打開文件
i: open split
s: open vsplit

r:刷新光標目錄
C:將樹改成根
相關文章
相關標籤/搜索