Quali sono i comandi Emacs "must know"? [chiuso]


22

Sono un convertito abbastanza nuovo in Emacs e lo adoro davvero come editore, principalmente perché continuo a trovare comandi nuovi e super utili. Ci sono altri comandi 'must know' del programmatore mancanti dal mio elenco?

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

9
Cx Cc. No, sul serio, adoro Emacs.
Adam Crossland,

6
Mx vi-mode ....

1
la modalità org è ottima per le note. Non un comando però.
Kasterma,

un altro non comando, ma bello guardare la modalità ido.
Kasterma,

5
Mg Mg è un'invocazione più breve di goto-line
Frank Shearar,

Risposte:


20
  • Ch a - Funzioni di ricerca a proposito
  • Ch b - esegue la descrizione del binding
  • Ch k - esegue descrivi-chiave
  • Ch f - esegue la funzione di descrizione
  • Ch v - esegue la variabile descrittiva

Se li conosci, puoi esplorare emacs e trovare cose che ancora non conosci. Impara come imparare, è essenziale. Tutto il resto può essere scoperto in seguito.


6
Ch a - Funzioni di ricerca a proposito
asm

3
Apropos dovrebbe essere in cima alla lista. Per prima cosa devi scoprire le cose prima di poter leggere la documentazione.
Starblue,

23

Bene, per prima cosa devi conoscere alcune delle basi della modifica del testo:

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

Quindi, è utile imparare come spostarsi nel file:

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   

Quindi, è bene iniziare a imparare come navigare con più file / buffer e finestre

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

Dopo questo, ecco alcuni altri errori. comandi che possono tornare utili:

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.

Per un riferimento completo: link


Penso di doverlo stampare e votare un milione di volte.
CodexArcanum,

In effetti, le ultime tre, le macro, sono ciò che rende emacs una grande vittoria. Puoi usarlo sottilmente e la gente penserà che emacs sia psichico.
Macneil,

2
non è piuttosto M-/ : autocomplete word (based on previous words in the file)? (barra invece di barra rovesciata? O sto confondendo questo con qualcos'altro?)
rovesciata haylem

@haylem, hai ragione. risolto nella risposta.
GSto

In realtà M-xè per execute-extended-command. Lo usi per i comandi non associati (ed align-regexpè solo uno di questi).
rsenna,

11

Incredibilmente utile durante la codifica:

M-; : comment-dwim

comment-dwim attiva o disattiva i commenti sulla regione corrente; commentando se non è commentato, e viceversa. La tua modalità lingua corrente consente a emacs di sapere come fare i commenti.

Per impostazione predefinita, se non è presente alcuna area attiva e c'è del testo sulla riga, verrà inserito un commento alla fine della riga. Personalmente, preferisco che commenti l'intera riga corrente, cosa che questo compie:

      ;; Original idea from
      ;; http://www.opensubscriber.com/message/emacs-devel@gnu.org/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)

Ho rubato me stesso da http://www.emacswiki.org/emacs/CommentingCode


simpatico! non sapevo di questo e mi sono ritrovato a desiderare che esistesse.
GSto

Preferisco comment-or-uncomment-regionper i miei scopi di commento. Mi consente di commentare temporaneamente un blocco di codice, se necessario.
Inaimathi,

Lego C-; per attivare / disattivare-comment-on-line per gestire il caso line e mantenere comment-dwim con la sua funzionalità originale.
Chris Clark,

Err e avrei dovuto includere la funzione di attivazione / disattivazione dei commenti on-line :) (defun toggle-comment-on-line () (interactive) (comment-or-uncomment-region (line-beginning-position) (line-end-position)))
Chris Clark,

6

Prova a fare il tutorial (Ch t). Ti insegna molte delle combinazioni di tasti fondamentali, e POI puoi iniziare a cercarne altre ancora più divertenti.


Mi vergogno di dire che non ne avevo mai sentito parlare!
haylem,

3

M-x apropos

M-x describe-key

M-x describe-bindings

C-x C-f ~/.emacs (aiuta se conosci Elisp prima di eseguirlo)

Praticamente tutto il resto è preferenza personale. Le persone a volte parlano di Emacs come se fosse un editore.

Non è vero.

Emacs è un linguaggio progettato per esprimere in modo succinto i redattori (vale a dire, Elisp è la sua "caratteristica" migliore). Quanto chilometraggio ne esci dipende direttamente e interamente da quanto bene capisci questo principio.


1
Bella simmetria, dato che lisp è un linguaggio di programmazione programmabile. (O, un linguaggio di programmazione che ti permette di descrivere con successo un linguaggio di programmazione.)
Frank Shearar,

1
Non abbastanza corretto. Emacs è un ambiente LISP interattivo, che ha risolto alcune decisioni di progettazione LISP in modo da facilitare la scrittura di editor ed estensioni di editor e un sacco di codice fisso, alcuni dei quali compilati in infrastruttura, che aiutano a scrivere editor.
John R. Strohm,

1
M-:

questo ti permette di valutare un elisp arbitrario nel minibuffer

C-x C-q

visualizzazione in sola lettura di un file

C-c C-c

regione dei commenti

tra gli altri!


1
  • Cj (Mx newline-and-indent)
  • CM- \ (Mx indent-region)
  • M-. (Mx find-tag) richiede l'esecuzione di etags sul tuo codice
  • M- / (Mx dabbrev-expand)
  • Compilazione mx
  • Cx vv (Mx vc-next-action)
  • Mx font-lock-mode

e leggi la documentazione per la modalità lingua che usi (Ch m (modalità descrittiva Mx))

Sono anche un grande fan di (Mx shell), M-! (Mx shell-command) e M- | (Mx shell-command-on-region) perché trovo molto utile poter eseguire il comando dall'interno di Emacs e tagliare e incollare l'output.

Inoltre, le righe di ordinamento Mx, i campi di ordinamento Mx e i campi numerici ordinamento Mx sono utili per mantenere lunghi elenchi di cose (come nomi di variabili) in ordine alfabetico o numerico.


-1

Mx revert-buffer è uno che uso molto.


(global-auto-revert-mode 1) nel tuo file emacs, l'ho usato anche molto.
as

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.