2010-10-29 38 views
2

In the emacsclient documentation,一個例子EDITOR設置爲:的emacsclient文件有%d和%s參數的例子 - 它們是什麼

EDITOR="emacsclient --alternate-editor emacs +%d %s" 

怎能%d和%s一起使用?我知道+從指定的行開始,%s是要編輯的文件名,但是什麼程序將%d和%s替換爲值?

例如,如果Subversion試圖啓動$EDITOR,emacs將編輯3個文件:+%d,%s和目標文件。是否有任何程序用接下來的兩個參數替換這些%d和%s? emacs文檔是不正確的?你爲什麼不把EDITOR設置爲`emacsclient --alternate-editor emacs

+0

更適合superuser.com? – Flexo 2010-10-29 14:59:15

+0

我有'--alternate-editor =「」'。那些引號並不需要。如果客戶端無法連接,這將在服務器模式下運行emacs。 – 2014-03-07 15:14:20

回答

2

語法模仿C語言中的printf函數和受其啓發的語言所使用的語法:%d旨在被十進制表示法中的整數替換,而%s旨在替換爲字符串。但是,我不知道有任何程序會在$EDITOR的值上執行這樣的替換。這可能很有資格成爲Emacs手冊中的一個錯誤。

有一些解釋$EDITOR爲路徑,以可執行文件(少數甚至不$PATH查找),其解釋爲啓動編輯器外殼片斷方案,並(允許傳遞額外的參數給他人可執行的方式)。因此,將EDITOR設置爲不包含特殊字符的可執行文件的完整路徑是最安全的。如果您想傳遞選項,請使用中繼腳本EDITOR=~/bin/EDITOR~/bin/EDITOR內容是類似

#!/bin/sh 
exec emacsclient --alternate-editor emacs 
相關問題