gpt4 book ai didi

emacs - 如何通过编辑当前名称来重命名文件?

转载 作者:行者123 更新时间:2023-12-04 12:59:50 25 4
gpt4 key购买 nike

例如:我有一个文件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)))))))

然后您可以将它绑定(bind)到组合键,例如 C-c r

(global-set-key (kbd "C-c r") 'rename-file-and-buffer)

否则,@Oleg 建议使用 dired 是一个不错的选择。

关于emacs - 如何通过编辑当前名称来重命名文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12634850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com