2012-02-09 81 views
2

我用eshell-parse-command 'ls -l'更換`ls`,我得到這個:我想`LS -l`在ESHELL

(progn (eshell-trap-errors 
     (eshell-named-command "ls" (list "-l")))) 

然後我寫在我的.emacs文件中的別名:

(defalias 'ls 
    (progn ...)) 

但我不工作。我不知道爲什麼。

回答

3

將以下代碼添加到您的配置文件中。

(require 'em-alias) 
(add-to-list 'eshell-command-aliases-list (list "ls" "ls -l")) 
+0

如何添加多個別名?我可以在這個(添加到列表)表達式中添加另一個列表嗎?或者我每次添加東西都必須添加一個新的(添加到列表...)? – Nick 2014-11-27 01:47:22

+0

您可以在文件中定義別名。默認別名文件是〜/ .emacs.d/eshell /別名(您可以通過變量eshell-aliases-file更改別名文件)。別名條目就像這個'alias ll ls -l $ *'。另見http://www.gnu.org/software/emacs/manual/html_node/eshell/Aliases.html – syohex 2014-11-27 03:28:56

+0

非常感謝您的解釋。我很關心elisp語法在這裏加入多個列表。在Clojure中,我可以'(conj'(1 2 3)'(4 5 6)'(7 8 9))'在elisp中可以做到嗎? – Nick 2014-11-27 03:35:50

0

,最簡單的方式來增加別名ESHELL是:

打開ESHELL,

alias alias-name definition 

ESHELL會自動將其寫入~/emacs.d/eshell/alias(不要自行編輯)。

例如:

alias sau sudo aptitude update 

然後你可以鍵入sau推出須藤性向更新。

類型alias(當然是eshll)會列出你定義的所有別名。


一些有用的別名:

地圖找到文件到FF,那麼你可以用Emacs打開一個文件,FF文件:

alias ff 'find-file $1' 

地圖dired到d:

alias d 'dired $1' 

Resources: 掌握Eshell

http://www.masteringemacs.org/article/complete-guide-mastering-eshell