如何在不切換到該緩衝區的情況下將更改保存到修改後的Vim緩衝區中?我正在嘗試編寫一個保存並關閉項目中所有緩衝區的函數。在不切換到該緩衝區的情況下保存對Vim緩衝區的更改
0
A
回答
2
除了:wqall
命令之外,沒有寫入除當前緩衝區以外的緩衝區的命令。
所以你必須切換到緩衝區才能寫入它。您可以使用:noautocmd
來避免相關事件(但可能會產生不良副作用!)。
唯一的選擇是使用像getbufline()
和writefile()
這樣的低級函數,但是你必須自己處理編碼轉換,fileformat等。
2
1
您可以使用參數列表,請參閱:help argument-list
。
假設您正在使用三個文件foo
,bar
,baz
工作,並希望只寫foo
和baz
:
:args foo baz
:argdo w
顯然需要額外的邏輯來判斷其緩衝放於arglist中的第一個地方,但它聽起來像你已經有了。
+0
仍然切換到每個緩衝區,也不保留原始緩衝區。 –
相關問題
- 1. Emacs意外地將緩衝區切換到臨時緩衝區
- 2. 區分Vim中的隱藏緩衝區和活動緩衝區
- 3. 自動保存緩衝區:make in vim?
- 4. vim:移動到緩衝區?
- 5. 快速切換緩衝區?
- 6. vim quickfix避免緩衝區更改
- 7. 在不要求確認的情況下更新Gvim緩衝區
- 8. 在不創建新緩衝區的情況下渲染對象
- 9. vim:獲取卸載緩衝區的緩衝區號
- 10. Vim在切換緩衝區時保持窗口位置
- 11. 在沒有malloc的情況下創建內存緩衝區
- 12. Vim:用默認緩衝區替換選擇而不覆蓋緩衝區
- 13. 如何切換到包含特定模式的vim緩衝區
- 14. 刷新Vim緩衝區
- 15. vi,vim緩衝區溢出
- 16. 替換緩衝區名的提示在ERC緩衝區
- 17. Vim光標在緩衝區切換後跳到行首
- 18. 限制緩衝區緩存
- 19. OpenCL中的緩衝區對象和圖像緩衝區對象
- 20. 緩衝區溢出緩衝區長度
- 21. 幀緩衝區/顏色緩衝區?
- 22. 在緩衝區
- 23. SSIS緩衝區不改變
- 24. 如果在其他窗口中打開緩衝區,Emacs切換到緩衝區(Cx b)將更改窗口
- 25. Vim緩衝區已被修改
- 26. 在緩衝區菜單中選擇不同的緩衝區
- 27. 我如何轉換的char *緩衝區爲unsigned char緩衝區
- 28. VIM刷新緩衝區,只要我切換到它
- 29. Vim從tmux切換到上一個緩衝區
- 30. 緩衝區和緩存區別?
爲什麼要避免切換到緩衝區? –
@DonReba它更乾淨更快 - 當你切換到緩衝區時,它會觸發autocmds等;同樣,如果你在一個函數中做了這個,那麼就需要額外編碼來存儲你的原始緩衝區,以便你可以在最後切換回它。 –