2012-08-23 41 views
1

如何讓emacs啓動並處於命令輸入的中間?特別是,我想要的emacs啓動的命令輸入find-file與在小緩衝區的消息中說:如何在命令輸入中間啓動

Find file: ~/ 

光標在它的最後一個字符,這樣我可以繼續輸入剩餘的路徑打開我想要的文件。

+0

目前,它開始在當前的工作目錄文件或$ HOME,如果你不在任何文件不是嗎? – Squidly

回答

1

我不得不承認,我的口齒不清是有點生疏,但是這對我的作品。把它塞進你的~/.emacs文件(或任何init文件你正在使用):

(add-hook 'emacs-startup-hook 
      (lambda() 
      (if (= (length command-line-args) 1) 
        (call-interactively 'find-file)))) 

如果調用emacs不帶任何參數,就像這樣:

 
[email protected]:~$ emacs 

它會調用find-file爲您服務。如果,另一方面,你調用emacs帶參數,如文件名,如:

 
[email protected]:~$ emacs somefile.txt 

它會默認爲剛剛訪問somefile.txt

+0

'emacs --eval'(dired「。」)'-f find-file'會做同樣的事情,雖然我不確定爲什麼要同時運行'dired'和'find-file'。 – dkim

+0

@DeokhwanKim提到dired是我的錯誤。它實際上需要查找文件。 – sawa

+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功能

EXCUTE口齒不清功能功能

+0

提到dired是我的錯誤。它實際上是想找到文件 – sawa

+0

謝謝。我看到了這個答案的優雅。 – sawa