這經常發生在我身上:我同時使用幾個M-x shell
炮彈。要打開下一個shell,我必須用rename-buffer
重命名第一個。但是,emacs只是提示新的緩衝區名稱,而不允許我重新使用現有的緩衝區名稱來構造相關的緩衝區,如*shell* dist
而不是*shell*
。那麼,如何在不重新輸入所有內容的情況下編寫新名稱呢?如何將緩衝區重命名爲相似的名稱
4
A
回答
4
當rename-buffer
提示輸入新名稱時,只需將光標放下即可。隨着光標你得到所有其他的名字。
經過這麼多年的emacsing的,我才發現現在這個權利...
6
還要注意章rename-uniquely
那麼一種選擇是:
- Mx
rename-uniquely
RET - 的Mx
shell
RET
然而,對於這種特定的用例,可以完全使用一個前綴參數規避重命名步驟時調用命令:銅的Mxshell
很明顯,這一切都取決於你對自動化名稱感到滿意,或者如果你想命名它更有意義。如果後者比錯誤答案顯然是最有用的(可能與前綴參數方法相結合)。
1
@phils和@false都提供了很好的答案,也許會有更多好的答案來臨。正如@phils指出的那樣,它有點取決於你想要的行爲。
這裏是我的貢獻---
除了使用M-n
檢索當前緩衝區名稱(以便您可以編輯它),它也可以得心應手地使用不嚴完成反對現有緩衝區名稱。
鬆懈完成意味着你可以,如果你願意,完全忽略完成候選人,並輸入任何你想要的新名稱。但是這也意味着你可以完成一個現有的名字,然後編輯它以得到一個類似但不同的名字,新名字對你來說意味着什麼。 IOW,只是M-n
給你的行爲,但是對於所有緩衝區名稱和匹配而不是循環(重複M-n
)。
圖書館misc-cmds.el
建議rename-buffer
的定義給你這樣的完成行爲。如果你不需要該庫中的其他東西,你可以抓住它的定義rename-buffer
。
給出與其他緩衝區相關的緩衝區名稱很快,但比自動唯一化方案提供的更有意義。 (我將rename-buffer
綁定到一個鍵上。)
0
這個怎麼樣。
(defun rename-buffer()
(interactive)
(rename-buffer (read-string "Rename buffer (to new name): " (buffer-name))))
當前緩衝區名稱將首先出現。然後你可以重命名它。
相關問題
- 1. 緩衝區不能爲空。參數名稱:緩衝區
- 2. 重命名當前緩衝區和Emacs中的相關文件
- 3. 如何爲emacs中的ssh緩衝區提供名稱
- 4. VimL:如何通過緩衝區名稱知道Vim在哪個緩衝區中
- 5. 將jquery.js重命名爲其他名稱
- 6. VBS將文件重命名爲與文件夾名稱相同
- 7. 如何縮短grep緩衝區中的路徑名稱?
- 8. 重置命令緩衝區
- 9. 如何將Firefox加載項重命名爲可讀名稱?
- 10. Git衝突(重命名/重命名)
- 11. 重命名Vim緩衝區,但不是內容
- 12. 如何在php中設置輸出緩衝區名稱?
- 13. Emacs + R:緩衝區名稱*/usr/local/bin/R *對於R緩衝區太長
- 14. 如何重命名ec2實例名稱
- 15. 如何重命名對象名稱?
- 16. 如何重命名XML節點名稱
- 17. 如何強制ECB將GUD緩衝區視爲comilation緩衝區?
- 18. 如何將BGRA緩衝區轉換爲RGBA緩衝區格式?
- 19. 替換緩衝區名的提示在ERC緩衝區
- 20. EmacsW32重命名緩衝器與舊的Windows縮短文件名
- 21. 如何根據文件名製作emacs自動名稱緩衝區?
- 22. 獲取Emacs中任何緩衝區的模式名稱
- 23. 如何「重置」緩衝區?
- 24. 命名空間與WCF相似的名稱混淆
- 25. Laravel命名約定與相似的模型名稱
- 26. 導入命名空間類作爲輸出緩衝區中的別名PHP
- 27. 爲定時採樣命名循環緩衝區類?
- 28. Java:DOM如何從名稱列表中重命名節點名稱
- 29. ido模式區分直接模式緩衝區名稱
- 30. 重命名jar包名稱
這是一個有趣的功能名稱:) – phils