Vim文件操作從同時操作多個文件和打開和保存文件兩個方面進行總結(jié)。
(一)Vim同時操作多個文件
一個文件夾下有vitest、vitest2兩個txt文件俩垃。同時操作兩個文件蜈垮。同時操作兩個文件可以通過命令 'vim *.txt' 或者 'vim vitest.txt vitest2.txt' 來完成。此時進入文件操作界面與操作一個文件時的界面似乎沒有差別菊碟。
①緩沖區(qū)列表
多個文件同時放入緩沖區(qū)可以通過 ':ls' 命令來查看节芥,切莫與shell的ls命令搞混。
②緩沖區(qū)列表操作
通過 ':ls' 查看緩沖列表,可以通過命令在各個文件之間進行切換头镊。
常見命令:
bnext : 跳轉(zhuǎn)下一個
bprev : 跳轉(zhuǎn)上一個
bfirst : 跳轉(zhuǎn)到第一個
blast : 跳轉(zhuǎn)到最后一個
輸入命令比如 'bnext' 后蚣驼,再通過 'ls' 查看,列表顯示發(fā)生一些變化;
'%' 表示當前在窗口中的文件是哪個相艇。'#' 代表輪換文件颖杏。可以通過 'Ctrl + ^' 在當前文件和輪換文件之間進行轉(zhuǎn)換坛芽。
當刪除緩沖區(qū)中文件時留储,可以通過 'bdelete 文件名' 完成刪除操作。
③管理隱藏緩沖區(qū)
當對vitest1.txt進行操作后咙轩,通過 'bnext' 進行切換時获讳,會無法切換
會提示切換前更新未寫入。但此時并非不能切換活喊,執(zhí)行強制切換即可丐膝。 'bnext!'完成強制轉(zhuǎn)換。完成轉(zhuǎn)換后钾菊,通過 'ls' 查看列表帅矗,會發(fā)現(xiàn)又有新的變動。
'#' 之后多了 'h +' 兩個字符煞烫, 'h' 表示一個隱藏緩沖區(qū)浑此,即未進行寫入的更改。保存更改的常見命令如下:
w[rite] : 寫入當前文件的寫改
e[dit] ! : 放棄當前文件的修改
wa[ll] ! : 寫入所有修改
qa[ll] ! : 關(guān)閉窗口红竭,放棄所有修改
④創(chuàng)建分割窗口
這個就比較有意思了尤勋,可以通過 'Ctrl + w + s' 水平切分當前窗口。
通過 'Ctrl + w + v' 完成垂直切分
當然茵宪,切分之后的子窗口也可以繼續(xù)切分最冰。
切分時,可以指定新的窗口載入其他文件通過 'sp[lit] 文件名' 的方式完成稀火。例如 'sp vitest1':
如果想垂直切分窗口載入新文件暖哨,通過 'vsp[lit] 文件名' 來完成。
窗口間切換常用命令:
Ctrl + w + w : 窗口間循環(huán)切換
Ctrl + w + h : 切換到左邊窗口
Ctrl + w + l : 切換到右邊窗口
Ctrl + w + j : 切換到下邊窗口
Ctrl + w + k : 切換到上邊窗口
關(guān)閉窗口的方式:
:clo[se] : 關(guān)閉當前窗口
:on[ly] : 只保留當前窗口
(二)打開及保存文件
通過 'vim 文件名' 的方式打開文件是最常用的方式凰狞。但這節(jié)討論的是在已經(jīng)打開vim的情況下打開文件的操作篇裁。
①通過 ':edit' 命令打開
當前在vitest1.txt中,通過 'edit' 命令打開vitest2.txt赡若。
②'edit' 命令文件路徑操作
查看當前文件相對于當前所在目錄的文件路徑达布,使用命令 'edit %<Tab>' 完成。例如當前在/home目錄下逾冬,執(zhí)行vim chuck/vitest1.txt黍聂,在vitest1.txt中輸入上述命令:
按下Tab鍵躺苦,發(fā)生如下改變
如果使用 ':edit %:h<Tab>',效果如下
':h' 將隱藏文件名产还,保留其余路徑匹厘。
③使用netrw管理文件系統(tǒng)
現(xiàn)在在/home/chuck/viexe目錄下有vitest1.txt,vitest2.txt脐区,vitest3.txt三個文件愈诚。輸入 'vim .' 進入vim的原生文件管理器netrw。
通過 'j'牛隅、 'k' 控制上下炕柔,選擇希望操作的文件,然后按回車鍵即可進行操作倔叼。也可以選擇 '../<CR>' 到達上一級目錄汗唱。
當然這是在終端中進入netrw,如果當前已經(jīng)在使用vim操作文件丈攒,如何進入文件系統(tǒng)?使用 ':edit' 命令授霸,如果是操作當前目錄巡验,只需要 ':edit .' 即可進入當前目錄的文件管理系統(tǒng)。其他目錄可以通過 ':edit 絕對/相對路徑' 即可碘耳。
④保存文件
普通的保存通過 'w' 命令即可显设。但如果是保存到尚不存在的目錄中。比如vim /home/chuck/viexe/sub/test.vim辛辨。而此時的viexe中并不存在sub目錄捕捂,如果正常保存會發(fā)生:
需要兩步走。第一步創(chuàng)建目錄斗搞,通過 ':!mkdir -p %:h'指攒,輸入回車鍵
此時再通過 'w' 寫入,即可完成寫入僻焚。