如何让 emacs 启动并处于命令输入的中间?特别是,我希望 emacs 在命令输入中间开始,并find-file
在小缓冲区中显示一条消息:
Find file: ~/
并将光标放在它的最后一个字符上,这样我就可以继续输入剩余的路径来打开我想要的文件。
您可以在命令提示符下执行以下命令之一,或者制作一个适当地包含它的 shell 脚本:
$ emacs -f find-file # if you want to start Emacs in the current direcoty
$ (cd ~; emacs -f find-file) # if you want to start Emacs in your home diretory
从emacs(1)手册页:
-f
函数,函数--funcall
执行lisp函数函数
我不得不承认我的 lisp 有点生疏,但这对我有用。将其放入您的~/.emacs
文件(或您正在使用的任何初始化文件)中:
(add-hook 'emacs-startup-hook
(lambda ()
(if (= (length command-line-args) 1)
(call-interactively 'find-file))))
如果你emacs
不带参数调用,像这样:
sawa@localhost:~$ emacs
它会为你调用find-file
。另一方面,如果您emacs
使用参数(例如文件名)进行调用,如下所示:
sawa@localhost:~$ emacs somefile.txt
它将默认为仅访问somefile.txt