1

如何让 emacs 启动并处于命令输入的中间?特别是,我希望 emacs 在命令输入中间开始,并find-file在小缓冲区中显示一条消息:

Find file: ~/

并将光标放在它的最后一个字符上,这样我就可以继续输入剩余的路径来打开我想要的文件。

4

2 回答 2

3

您可以在命令提示符下执行以下命令之一,或者制作一个适当地包含它的 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函数函数

于 2012-08-23T13:32:31.780 回答
1

我不得不承认我的 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

于 2012-08-23T14:10:50.237 回答