Apprendre à utiliser Emacs de manière efficace est par nature un processus lent, mais cela en vaut la peine.
Créez tout de suite un fichier .emacs. Vous aurez besoin de le personnaliser un peu. Cela peut paraître idiot, mais avoir une sorte de contrôle de source sur ce fichier sera également utile.
Pour faciliter l'accès aux fonctionnalités d'Emacs, ajoutez à votre fichier .emacs :
(defalias 'ap 'apropos)
Ensuite, lorsque vous voulez voir s'il existe une commande pour faire "quelque chose", tapez "[Alt-x] ap [enter] quelque chose [enter]". Emacs a son propre nom pour les choses, donc il peut être difficile de trouver des choses parfois ("yank" ? Sérieusement ? Appelez-le "cut" comme tout le monde !).
"[Ctrl-h f] nom-fonction [enter]" recherche l'aide pour cette fonction.
"[Ctrl-h m]" vous montre des détails sur le mode actuel, comme les combinaisons de touches spécifiques à ce mode.
Apprenez à utiliser Ctrl-s et Ctrl-r pour la recherche incrémentale. Todo Les éditeurs de texte doivent être dotés de cette fonctionnalité.
Ajouter des raccourcis clavier à votre .emacs comme :
(define-key global-map (kbd "M-z") 'redo)
(define-key global-map (kbd "C-z") 'undo)
Obtenez le paquet redo.el pour rendre le redo d'Emacs moins nul.
iswitchb-mode est inestimable. Il vous permet d'avoir des dizaines de tampons ouverts en même temps et de passer de l'un à l'autre en un clin d'œil. Configurez iswitchb et ajoutez-le à votre .emacs :
(iswitchb-mode)
(define-key global-map (kbd "M-RET") 'iswitchb-buffer)
Pour évaluer une expression emacs-lisp, tapez l'expression dans un tampon, placez le curseur juste après, et tapez "[Ctrl-x Ctrl-e]". Cela vous permet d'expérimenter facilement différentes personnalisations.
N'oubliez pas que vous ne devez pas lâcher la touche Ctrl lorsque vous tapez une séquence comme celle-ci.
Voyez où une chaîne de caractères apparaît dans un tampon avec la fonction "occur". Voici quelques fonctions et raccourcis clavier pratiques pour cela :
(defun word-at-point ()
(thing-at-point 'word)
)
(defun word-at-point-or-selection ()
(if mark-active
(regexp-quote (buffer-substring (mark) (point)))
(concat "\\\\")
)
)
(defun find-word-at-point ()
(interactive)
(occur (word-at-point-or-selection))
)
(define-key global-map (kbd "C-o") 'find-word-at-point)
(define-key isearch-mode-map (kbd "C-o")
(lambda ()
(interactive)
(let ((case-fold-search isearch-case-fold-search))
(occur (if isearch-regexp isearch-string
(regexp-quote isearch-string))))))