Quelles sont les commandes Emacs à connaître? [fermé]

22

Je suis un converti assez récent en Emacs et je l'aime vraiment en tant qu'éditeur, principalement parce que je continue de trouver des commandes nouvelles et super utiles. Y a-t-il d'autres commandes du programmeur «doivent être connues» manquantes dans ma liste?

M-x replace-string     - Find and replace a given string.
M-x goto-line          - Goto a specific line
M-x column-number-mode - Show the current column number in text bar
Chris Smith
la source
9
Cx Cc. Non, sérieusement, j'aime Emacs.
Adam Crossland
6
Mx vi-mode ....
1
le mode org est idéal pour les notes. Pas une commande cependant.
kasterma
un autre pas de commande, mais agréable à regarder en mode ido.
kasterma
5
Mg Mg est une invocation plus courte de goto-line
Frank Shearar

Réponses:

20
  • Ch a - Fonctions de recherche Apropos
  • Ch b - exécute la description-liaison
  • Ch k - exécute la clé de description
  • Ch f - exécute la fonction de description
  • Ch v - exécute la variable de description

Si vous les connaissez, vous pouvez explorer emacs et trouver des choses que vous ne savez toujours pas. Apprenez à apprendre, c'est essentiel. Tout le reste peut être découvert plus tard.

Alexey Voinov
la source
6
Ch a - Fonctions de recherche Apropos
asm
3
Les apropos devraient figurer en tête de liste. Vous devez d'abord découvrir des choses avant de pouvoir lire la documentation.
starblue
23

Eh bien, vous devez d'abord connaître certaines des bases de l'édition de texte:

C-w : Cut 
M-w : Copy
C-y : Paste
C-x s : save
C-x c : save all and close

Ensuite, il est pratique d'apprendre à se déplacer dans le fichier:

M-b : back one word
M-f : foward one word
C-a : beginning of line
C-e : end of line
C-n : next line
C-p : previous line
M-< : beginning of buffer
M-> : end of buffer   

Ensuite, il est bon de commencer à apprendre à naviguer avec plusieurs fichiers / tampons et fenêtres

C-x C-f : find file
C-x b : switch buffer
C-x k : kill buffer
C-x 2 : split-window-vertically
C-x 3 : split-window-horizontally
C-x o : switch window
C-x 0 : kill this window
C-x 1 : kill all other windows

Après cela, voici quelques autres misc. commandes qui peuvent être utiles:

C-s : search
C-r : search backward
M-/ : autocomplete word (based on previous words in the file)
M-x : align-regexp
M-( : start keyboard macro
M-) : end keyboard macro
C-x e: execute keyboard macro.

Pour une référence complète: lien

GSto
la source
Je pense que je dois l'imprimer et vous voter un million de fois.
CodexArcanum
En effet, les trois dernières, les macros, font d'emacs une grande victoire. Vous pouvez l'utiliser subtilement et les gens penseront qu'emacs est psychique.
Macneil
2
n'est-ce pas plutôt M-/ : autocomplete word (based on previous words in the file)? (slash au lieu de back-slash? Ou suis-je en
train de le
@haylem, vous avez raison. corrigé dans la réponse.
GSto
En fait, M-xc'est pour execute-extended-command. Vous l'utilisez pour les commandes non liées (et align-regexpn'est que l'une d'entre elles).
rsenna
11

Incroyablement pratique lors du codage:

M-; : comment-dwim

comment-dwim fera basculer les commentaires sur la région actuelle; commenter si ce n'est pas commenté, et vice versa. Votre mode de langue actuel permet à emacs de savoir comment faire les commentaires.

Par défaut, s'il n'y a pas de région active et qu'il y a du texte sur la ligne, il insérera un commentaire à la fin de la ligne. Personnellement, je préfère le faire commenter l'intégralité de la ligne actuelle, ce qui permet:

      ;; Original idea from
      ;; http://www.opensubscriber.com/message/[email protected]/10971693.html
      (defun comment-dwim-line (&optional arg)
        "Replacement for the comment-dwim command.
        If no region is selected and current line is not blank and we are not at the end of the line,
        then comment current line.
        Replaces default behaviour of comment-dwim, when it inserts comment at the end of the line."
          (interactive "*P")
          (comment-normalize-vars)
          (if (and (not (region-active-p)) (not (looking-at "[ \t]*$")))
              (comment-or-uncomment-region (line-beginning-position) (line-end-position))
            (comment-dwim arg)))
      (global-set-key "\M-;" 'comment-dwim-line)

Je l'ai volé moi-même sur http://www.emacswiki.org/emacs/CommentingCode

Jason Viers
la source
agréable! ne connaissait pas celui-ci, et je me suis retrouvé à souhaiter qu'il existe.
GSto
Je préfère comment-or-uncomment-regionpour mes commentaires. Cela me permet de commenter temporairement un bloc de code si nécessaire.
Inaimathi
Je lie C-; to -gle-comment-on-line pour gérer le cas de ligne et conserver comment-dwim avec sa fonctionnalité d'origine.
Chris Clark
Err, et aurait dû inclure la fonction toggle-comment-on-line :) (defun toggle-comment-on-line () (interactive) (comment-or-uncomment-region (line-beginning-position) (line-end-position)))
Chris Clark
6

Essayez de faire le tutoriel (Ch t). Il vous apprend beaucoup des raccourcis clavier fondamentaux, et vous pouvez alors commencer à en chercher d'autres encore plus amusants.


la source
Honte de dire que je n'avais jamais entendu parler de celui-là!
haylem
3

M-x apropos

M-x describe-key

M-x describe-bindings

C-x C-f ~/.emacs (cela aide si vous connaissez Elisp avant d'exécuter celui-ci)

Presque tout le reste est une préférence personnelle. Les gens parlent parfois d'Emacs comme s'il s'agissait d'un éditeur.

Ce n'est pas vrai.

Emacs est un langage conçu pour exprimer succinctement les éditeurs (c'est-à-dire qu'Elisp est sa meilleure «fonctionnalité»). Le kilométrage que vous en retirez dépend directement et entièrement de votre compréhension de ce principe.

Inaimathi
la source
1
Belle symétrie, étant donné que lisp est un langage de programmation programmable. (Ou, un langage de programmation qui vous permet de décrire succinctement un langage de programmation.)
Frank Shearar
1
Pas tout à fait correct. Emacs est un environnement LISP interactif, dont certaines décisions de conception LISP ont été résolues de manière à faciliter l'écriture d'éditeurs et d'extensions d'éditeur, et un tas de code en conserve, dont certains sont compilés dans l'infrastructure, qui aident à écrire des éditeurs.
John R. Strohm
1
M-:

cela vous permet d'évaluer l'élisp arbitraire dans le mini-tampon

C-x C-q

affichage en lecture seule d'un fichier

C-c C-c

région de commentaire

entre autres!

Brad Clawsie
la source
1
  • Cj (Mx saut de ligne et indentation)
  • CM- \ (région de retrait Mx)
  • M-. (Mx find-tag) nécessite l'exécution de etags sur votre code
  • M- / (Mx dabbrev-expand)
  • Compilation MX
  • Cx vv (Mx vc-prochaine-action)
  • Mx font-lock-mode

et lisez la documentation du mode de langue que vous utilisez (Ch m (Mx describe-mode))

Je suis aussi un grand fan de (Mx shell), M-! (Commande shell Mx) et M- | (Mx shell-command-on-region) parce que je trouve très pratique de pouvoir exécuter des commandes depuis emacs et de couper-coller la sortie.

En outre, les lignes de tri Mx, les champs de tri Mx et les champs de numéro de tri Mx sont utiles pour conserver de longues listes de choses (comme les noms de variables) dans l'ordre alphabétique ou numérique.


la source
-1

Mx revert-buffer est celui que j'utilise beaucoup.

Paul Nathan
la source
(global-auto-revert-mode 1) dans votre fichier emacs, je l'ai également beaucoup utilisé.
asm