vim深入學習之檔案緩衝區列表

2021-06-22 12:22:05 字數 1324 閱讀 5075

vim允許我們同時在多個檔案上工作,緩衝區列表記錄了一次編輯會話中開啟的所有檔案,用vim的緩衝區列表可以對這些檔案進行管理,vim允許我們同時在多個緩衝區上工作。

檔案是儲存在磁碟上的,而緩衝區則存在於記憶體中,當vim開啟乙個檔案時,該檔案的內容被讀入乙個具有相同名字的緩衝區。剛開始,緩衝區的內容和檔案的內容相同,但當我們對緩衝區作出修改時,二者的內容就會出現差別。如果此時決定保留這些更改,就可以再把緩衝區的內容寫回到檔案裡。

假設當前目錄下,有三個檔案,shell.sh、shell1.sh、shell2.sh。執行vim *.sh命令會開啟三個檔案,但是只有第乙個檔案會顯示。雖然另外兩個檔案沒有顯示,但是其內容已經被載入到後台的緩衝區了。使用ls命令可以看到:

:ls1 %a   "shell1.sh"                    line 4

2         "shell2.sh"                    line 0

3         "shell.sh"                      line 0

press enter or type command to continue

用:bnext命令可以切換到列表的下乙個緩衝區。

:ls1 #      "shell1.sh"                    line 4

2 %a   "shell2.sh"                    line 1

3         "shell.sh"                      line 0

press enter or type command to continue

%符號指明哪個緩衝區在當前視窗中可見,而#符號則代表輪換檔案。用ctrl + ^在當前檔案和輪換檔案間快速切換。:ls列表開頭有乙個數字,是在緩衝區建立時由vim自動分配的編號,沒有辦法手動改變此編號。我們可以用:buffer n命令直接憑編號跳轉到乙個緩衝區。或是用更直觀的:buffer格式實現同樣的功能。只需包含檔案路徑中足以為以表示此緩衝區的字元即可,如果輸入的字串匹配了不止乙個緩衝區列表中的條目,使用tab即可補全。

如果想要刪除緩衝區,可以用:bdelete命令,命令格式如下:

:bdelete n1,n2,n3

:n,m bdelete

刪除乙個緩衝區並不會影響到所關聯的檔案,而只是簡單地把該檔案在記憶體中的映像刪掉,如果我們想刪除編號5~10(包含5和10)的緩衝區,可以執行:5,10bd;然而,如果想要保留編號為8的緩衝區的話,只能用:bd 5 6 7 9 10。我們想刪除乙個緩衝區,得先查詢一番編號,這樣比較耗時。vim內建的緩衝區管理功能缺乏靈活性,因此,我們最好使用分割視窗、標籤頁、或是引數列表。接下來一一介紹。

Vim 檔案與緩衝區以及操作

這裡有更好的閱讀體驗 檔案是儲存在硬碟上的,而緩衝區是在記憶體中,開啟乙個檔案,就是把檔案讀入到乙個緩衝區中,編輯檔案 緩衝區 後,二者內容 記憶體和硬碟 會出現差別,儲存檔案後,會把記憶體中的資料寫回硬碟。緩衝區列表使用ls命令檢視開啟的檔案 切換緩衝區 通過命令切換緩衝區 命令 效果bprevi...

NIO學習筆記之緩衝區Buffer

buffer有四個屬性 1 capacit 容量 2 limit 上界 3 position 位置 4 mark 標記 絕對儲存不會影響緩衝區的位置屬性 存和取的方法 public abstract byte get public abstract byte get int index public...

javaNIO學習筆記之緩衝區Buffer

buffer有四個屬性 1 capacit 容量 2 limit 上界 3 position 位置 4 mark 標記 絕對儲存不會影響緩衝區的位置屬性 存和取的方法 public abstract byte get public abstract byte get int index public...