在linux下,假若需要對多個檔案的內容進行相互對照和參考,或需要將乙個檔案的某部分內容複製或貼上到另乙個檔案中,可通過vim同時開啟這些相關檔案進行編輯。
通過vim開啟的每個檔案都對應著乙個buffer(buffer是系統為開啟的檔案分配的記憶體空間),每個buffer都有乙個id。
vi filename1 filename2
說明:上述命令同時開啟了filename1,filename2兩個檔案,不過檔案filename1的內容將佔據整個vim視窗,要想在各個檔案之間進行切換,我們可通過如下命令:
:n 切換到下乙個檔案
:n 切換到上乙個檔案
:e filename 不離開vim情況下切換到檔案filename (e為edit)
因為每個開啟的檔案都對應著乙個buffer,故可通過切換buffer來達到切換檔案的目的,如下
:ls 列出vim開啟的所有檔案的資訊,包括檔名,buffer id等
:b2 切換到 buffer id 為2的buffer
:bn 切換到當前buffer的下乙個buffer
:bp 切換當前buffer的前乙個buffer
:bd 關閉當前buffer,對應檔案也隨之關閉
:bd2 關閉buffer id為2的buffer,對應檔案也隨之關閉
當然,我們可通過安裝minibufexplorer外掛程式來簡化 buffer 的切換。不過該外掛程式有時會導致語法高亮顯示失效,我們可通過命令:syntax on來恢復高亮。
對於在同乙個視窗下開啟多個檔案,對於各檔案之間內容的複製,剪下操作終究不方便,我們可使用命令對視窗進行分割,每個子視窗顯示乙個檔案
vi -o filename1 filename2 水平分割視窗
vi -o filename1 filename2 垂直分割視窗
我們可按ctrl + ww在各視窗之間進行切換。
①、在不關閉vim的情況下繼續開啟其他檔案
:e
file 不會分割視窗
:sp
file 將會水平分割視窗
:vsp file 將會垂直分割視窗
②、vim和shell之間切換
:shell 此時vim在後台執行,在shell中輸入命令exit,切換回vim
③、在vim中執行shell命令(不切換到shell)
:!command 在執行的命令前加上!,如!ls,!ls -a
:r !command 將command命令的執行結果插入到文字當前行的下一行
:3 !command 將文字中第三行的內容輸入到命令command中進行處理,並將第三行的內容替換為命令的執行結果
:1,3 !command 將文字中第一行到第三行的內容輸入到命令command中進行處理,並將第一行到第三行的內容替換為命令的執行結果
:3 w !command 將文字中第三行的內容輸入到命令command中進行處理,不改變當前編輯檔案的內容.
:1,3 w !command 將文字中第一行到第三行的內容輸入到命令command中進行處理,不改變當前編輯檔案的內容
多檔案編譯
編譯多個檔案 編輯兩個檔案 cs 和 class.cs cs using system namespace test class.cs using system namespace test public void saysomething 執行的命令 引數的使用都和單個檔案的執行一樣 如果不指定生...
多檔案編譯
一.常用編譯命令選項 假設源程式檔名為test.c。3.選項 e 用法 gcc e test.c o test.i 作用 將test.c預處理輸出test.i檔案。4.選項 s 用法 gcc s test.i 作用 將預處理輸出檔案test.i彙編成test.s檔案。5.選項 c 用法 gcc c ...
vim多檔案編輯
總想寫點東西,以證明自己的存在給將來。1 screen a 通過ports安裝screen b screen c vi file1.c d ctrl a c 表示同時按住ctrl和a,鬆開後再單擊c,以下同 新建乙個視窗 e vi file2.c f 游標移動到起始點 g ctrl a 進入copy...