有没有办法给'find-file'函数一个提示?
我正在处理远程服务器上同一目录中的文件,而我却厌倦了一直输入机器名和目录结构。如果我能编写一个能够显示已经填写的机器名和目录的查找文件提示的函数,那肯定会很棒。
(注意:我使用的是Emacs 23.1)
提前感谢您的帮助。
答案 0 :(得分:2)
如果从与远程服务器上的文件关联的缓冲区启动'find-file
命令,则启动点应该已经包含填写的目录/远程服务器。
皮肤猫的一种方法是做
M-x cd /ssh:user@machine:/starting/path
注意:我使用tramp,这就是find-file的启动方式。我今天之前没有注意到/ssh:
,但我不再使用tramp了。
要直接回答您的问题,此命令会使用“提示”调用find-file:
(defun my-remote-find-file ()
"call 'find-file with a starting directory"
(interactive)
(let ((default-directory "/ssh:user@machine:/starting/path/"))
(call-interactively 'find-file)))
显然可以自定义起点。
我能想到解决这个问题的最后一种方法是在远程服务器上执行M-x dired
,然后从那时开始查找文件。
答案 1 :(得分:0)
设置recentf,当您想在服务器上打开文件时,请浏览recentf菜单;如果你想要的确切文件不存在,只需在同一目录中打开其他文件,然后输入C-x C-f
,就可以为你填写目录。
答案 2 :(得分:0)