Vim多檔案編譯

2021-08-15 11:02:45 字數 1836 閱讀 6362

在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...