如何在命令输入的中间启动

时间:2012-08-23 12:11:08

标签: emacs emacs23

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

Find file: ~/

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

2 个答案:

答案 0 :(得分: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函数功能

  

答案 1 :(得分:1)

我必须承认我的口齿不清有点生锈,但这对我有用。将其放在~/.emacs文件(或您正在使用的任何init文件)中:

(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