1

我想绑定 super 和 9 以在用户输入字段中以 ~/x/ 作为“默认路径”打开“查找文件:”、“Cx Cf”菜单,无论我当前打开的文件是哪个目录是的。不幸的是,我的 elisp 技能非常基础。我真的很感激这方面的一些帮助。

(global-set-key (kbd "s-9") 'enter_find_file_with_dir_x_as_default)

(defun enter_find_file_with_dir_x_as_default ()
"Enter find file with the path ~/x/ as the default input every time."
())
4

1 回答 1

2

只需定义一个命令,该命令 read-file-name使用您想要的默认目录(在interactive规范中)调用,然后调用find-file读取的文件名。

(defun my-find-file (file)
  "..."
  (interactive (list (read-file-name "File: " "~/x/")))
  (find-file file))

请参阅文档read-file-name以决定您可能需要哪些其他参数(例如,您是只接受现有文件名还是允许新文件缓冲区)。

还要注意,如果你想把它绑定到一个键上,那么它必须是一个命令,所以它需要一个interactive规范。如果您只是想要一个从目录开始读取文件名的函数,~/x/那么答案是read-file-name- 只需将其~/x/作为DIR参数传递即可。

有关更多信息,请参阅 Elisp 手册 node Reading File Names。( C-h i; 选择Elisp; i read-file-name.)

于 2013-10-27T22:23:25.940 回答