- 文件列表:
- 自動存盤
- 編輯另一個文件列表:
- 預定義的標記(:jumps列出跳跳路徑)
- 文件標記
- 在文件間複製粘貼:
- 查看文件:
- 更改文件名:
- 分隔一個窗口:
打開一個新窗口最簡單的辦法就是使用命令::splitCTRL-W w命令可以切換當前活動窗口。如果你在上面窗口,它會把它帶到下面。
- 關閉窗口:
:close":quit"和"ZZ"都會關閉窗口,但是用":close" 可以阻止你關閉最後一個Vim,以免以意外地整個關閉了Vim.
- 關閉除當前窗口外的所有其它窗口:
:only
- 爲另一個文件分隔出一個窗口:
:split two.c
- 如果要打開一個新窗口並開始編輯一個空的緩衝區,使用命令:
:new
- :split命令還可以接受一個參數。如果指定了這個參數的話,它將會作爲新打開窗口的高度。
:3split filename 高度只有三行
- 對於已經打開的窗口有好幾種辦法可以改變它們的大小:(別按住,看vim右下角出現^W再按+ -)
ctrl-w +ctrl-w -
- 使用鼠標
- 垂直分隔:
:vsplit:vsplit two.c:vnew = :vertical new命令,用於垂直分隔窗口並在其中打開一個新的空緩衝區
- 切換窗口:
CTRL-W h 到左邊的窗口CTRL-W j 到下面的窗口CTRL-W k 到上面的窗口CTRL-W l 到右邊的窗口CTRL-W t 到頂部窗口CTRL-W b 到底部窗口
- 移動窗口
CTRL-W J 到下面的窗口CTRL-W K 到上面的窗口CTRL-W L 到右邊的窗口
- 針對所有窗口操作的命令:
打開一大堆窗口的情況下要退出Vim:
:qall = quit all:wall = write all:wqall = :wall :qall
- 爲所有文件打開窗口:
shellvim -o one.txt two.txt three.txt"-O"參數可以使打開的窗口都垂直排列。如果已經進入了vim, ":all"命令會爲命令行上指定的所有文件各開一個窗口。":vertical all"則讓打開的窗口都是垂直分隔。??"-O"參數可以使打開的窗口都垂直排列。
- 使用vimdiff查看同
windows下diff不了方法:在_vimrc或.vimrc中找到下面代碼:if &sh =~ '<cmd'
let cmd = '""' . $VIMRUNTIME . 'diff"'
let eq = '"'
替換成:
if &sh =~ '<cmd'
let cmd = '"' . $VIMRUNTIME . 'diff"'
let eq = '""'
shell中
vimdiff main.c~ main.c
運行VIM後比較不同:
:edit main.c
:vertical diffsplit main.c
已經存在兩個文件在vim中,:diff進入對比狀態
同步滾動:
如果兩個文件有很多不同之處,你可以以通常方式滾動窗口進行查看。
:set noscrollbind
跳到不同之處
如果你禁用了折行顯示,要找到兩個文件的不同之處就要費勁些,命令:
]c
可以直接向前定位到下一個不同之處。向後定義下一個發生改變的行用:
[c
消除差異:
你可以在兩個對比窗口中移動文字。這樣做會引起兩個文件對比結果的變化。不同之處會減少或增多。 Vim並不時時更新對應的高亮顯示。命令:
:diffupdate要消除一個不同之處,你可以把高亮起來的文件從一個窗口移到另一個窗口去。dp (有光變的不變)"dp"是"diff put"的縮寫將光標移到右邊的窗口,到"changed"插入的位置。do "do"意爲"diff obtain"兩個文件完全相同了,Vim將把所有內容都摺疊起來。
so,dp給另一個窗口,do是得到另一個窗口的差異