例如:我有一個文件longest_substring_no_repeating_chars.cc
。有一天我想將它重命名爲longest_substr_no_repeating_chars.cc
。我如何通過編輯舊名稱來完成?還是有任何方便的方法來做到這一點?如何通過編輯當前名稱來重命名文件?
回答
假設你要重命名的文件,目前正在編輯,你可以這樣定義一個函數:
(defun rename-file-and-buffer()
"Renames current buffer and file it is visiting."
(interactive)
(let ((name (buffer-name))
(filename (buffer-file-name)))
(if (not (and filename (file-exists-p filename)))
(message "Buffer '%s' is not visiting a file!" name)
(let ((new-name (read-file-name "New name: " filename)))
(cond ((get-buffer new-name)
(message "A buffer named '%s' already exists!" new-name))
(t
(rename-file name new-name 1)
(rename-buffer new-name)
(set-visited-file-name new-name)
(set-buffer-modified-p nil)))))))
而且你可以把它綁定到像抄送R A組合鍵
(global-set-key (kbd "C-c r") 'rename-file-and-buffer)
否則,@奧列格建議使用dired
是一個不錯的選擇。
您可以在直接模式下執行此操作。 R
快捷方式會調用dired-do-rename,您可以按可以按以下以取回舊名稱。
如果您使用dired-x,只需添加到您的init文件中就更簡單了。
(require 'dired-x)
然後你就可以按C-XÇ-J [R編輯,因爲你需要,那麼 q回到你的緩衝區。
另一種可能性:M-x wdired-change-to-wdired-mode
。在這種模式下,您可以直接編輯文件 。當您想要提交更改時按C-c C-c
或 C-c ESC
取消它們。
event_jr,感謝您的編輯。 –
在dired-mode中,您可以鍵入熟悉的'toggle-read-only'綁定'Cx Cq'來調用'dired-toggle-read-only',這是一種更方便的方式來調用'wdired-change-to-wdired- mode'。 – phils
- 1. 通過預先設置當前pc名稱批量重命名
- 2. 重命名文件的名稱編號
- 3. 重命名文件名通過意向
- 4. 通過增加文件名重命名
- 5. Shell:Sed -i.bak通過追加當前日期重命名文件
- 6. 如何通過Ms-dos命令重命名多個文件名
- 7. 如何通過MS-DOS命令打印當前目錄名稱
- 8. 通過目錄名稱重命名目錄中的文件
- 9. 重命名文件,如「名稱+索引」
- 10. 使用文件夾名稱作爲前綴重命名文件
- 11. 讀取Package屬性的名稱並用包名重命名當前文件
- 12. 使用文件夾名稱作爲前綴和當前文件名的一部分重命名文件VBS
- 13. 如何通過刪除存檔日期來重命名文件擴展名
- 14. 用多個名稱重命名文件
- 15. 截斷文件名稱並重命名
- 16. UNIX - 用長名稱重命名文件
- 17. 重命名文件的名稱
- 18. 如何更新GEF編輯器,如果文件重命名?
- 19. 通過添加當前目錄編輯PATH。通過無「./」輸入一個文件名編譯* .c文件,而不
- 20. 通過腳本重命名文件
- 21. 通過php重命名文件
- 22. Android - 通過sideload重命名文件?
- 23. 通過php重命名文件
- 24. 通過重命名
- 25. 如何通過文件夾循環和重命名文件
- 26. 通過從文件名中刪除單詞重命名文件
- 27. 重命名當前模塊
- 28. 如果名稱已經存在,如何重命名文件?
- 29. 在WPF編輯/重命名ListView項目標籤名稱就地編輯
- 30. 如何通過重寫保存重命名文件zend getValues()
是的,它的工作原理。謝謝。 – updogliu