2012-02-09 3 views
2

J'utilise eshell-parse-command 'ls -l' et je me suis ceci:Je veux remplacer `` ls ls` avec -l` dans eshell

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

J'écris un alias dans mon fichier .emacs:

(defalias 'ls 
    (progn ...)) 

Mais je ne fonctionne pas. Je ne sais pas pourquoi.

Répondre

3

Ajoutez le code suivant à votre fichier de configuration.

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

Comment ajouter plusieurs alias? Puis-je ajouter une autre liste dans cette expression (add-to-list)? Ou dois-je ajouter un nouveau (add-to-list ...) chaque fois que j'ajoute quelque chose? – Nick

+0

Vous pouvez définir des alias dans un fichier. Le fichier alias par défaut est ~/.emacs.d/eshell/alias (Vous pouvez changer le fichier alias par la variable eshell-aliases-file). L'alias est comme ceci 'alias ll ls -l $ *'. Voir aussi http://www.gnu.org/software/emacs/manual/html_node/eshell/Aliases.html – syohex

+0

Merci beaucoup pour votre explication. Je suis préoccupé par la syntaxe elisp pour rejoindre plusieurs listes ici. Dans Clojure, je peux '(conj '(1 2 3)' (4 5 6) '(7 8 9))' Est-il possible de le faire en elisp? – Nick

0

La meilleure façon d'ajouter alias ESHELL est:

eshell Open,

alias alias-name definition 

Eshell écrirai automatiquement en ~/emacs.d/eshell/alias (ne pas modifier vous-même).

Par exemple:

alias sau sudo aptitude update 

Ensuite, vous pouvez taper sau pour lancer la mise à jour d'aptitude sudo.

Le type alias (dans eshll, bien sûr) listera tous les alias que vous avez définis.


Certains alias utiles:

Carte find-file à ff, alors vous pouvez ouvrir un fichier dans emacs avec fichier suivants:

alias ff 'find-file $1' 

Carte DIRED à d:

alias d 'dired $1' 

Ressources: Maîtriser Eshell

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