O que são os comandos do Emacs 'must know'? [fechadas]

22

Sou um convertido relativamente novo no Emacs e adoro isso como editor, principalmente porque continuo encontrando comandos novos e super úteis. Há algum outro programador 'obrigatório' comandos ausentes na minha lista?

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
fonte
9
Cx Cc. Não, sério, eu amo o Emacs.
Adam Crossland
6
Mx vi-mode ....
1
O modo org é ótimo para anotações. Não é um comando embora.
kasterma
outro não comando, mas bom olhar para o modo ido.
kasterma
5
Mg Mg é uma invocação mais curta da linha de goto
Frank Shearar 18/11/2010

Respostas:

20
  • Ch a - Funções de pesquisa apropriadas
  • Ch b - executa descrição de ligação
  • Ch k - executa a chave de descrição
  • Ch f - executa a função de descrição
  • Ch v - executa a variável de descrição

Se você os conhece, pode explorar o emacs e encontrar coisas que ainda não conhece. Aprenda a aprender, isso é essencial. Tudo o resto pode ser descoberto mais tarde.

Alexey Voinov
fonte
6
Ch a - Funções de pesquisa
apropriadas
3
Os propósitos devem estar no topo da lista. Primeiro você precisa descobrir as coisas antes de poder ler a documentação.
starblue
23

Bem, primeiro você precisa conhecer algumas noções básicas de edição de texto:

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

Em seguida, é útil aprender como se mover pelo arquivo:

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   

Então, é bom começar a aprender a navegar com vários arquivos / buffers e janelas

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

Depois disso, aqui estão algumas outras misc. comandos que podem ser úteis:

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.

Para uma referência completa: link

GSto
fonte
Acho que preciso imprimir isso e fazer um voto positivo um milhão de vezes.
CodexArcanum
De fato, as três últimas macros são o que faz do emacs uma grande vitória. Você pode usá-lo sutilmente e as pessoas pensam que o emacs é psíquico.
Macneil
2
não é mesmo M-/ : autocomplete word (based on previous words in the file)? (Slash, em vez de voltar-slash Ou estou confundindo isso com outra coisa?)
haylem
@haylem, você está certo. corrigido na resposta.
GSto
De fato M-xé para execute-extended-command. Você o usa para comandos não acoplados (e align-regexpé apenas um deles).
rsenna
11

Incrivelmente útil durante a codificação:

M-; : comment-dwim

comment-dwim alternará os comentários na região atual; comentando se não for comentado e vice-versa. Seu modo de idioma atual permite ao emacs saber como fazer os comentários.

Por padrão, se não houver região ativa e houver texto na linha, ele inserirá um comentário no final da linha. Pessoalmente, prefiro que ele comente toda a linha atual, o que isso faz:

      ;; 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)

Eu mesmo o roubei de http://www.emacswiki.org/emacs/CommentingCode

Jason Viers
fonte
legais! não sabia sobre este, e me vi desejando que ele existisse.
GSto
Eu prefiro comment-or-uncomment-regionpara meus propósitos de comentário. Permite-me comentar temporariamente um bloco de código, se necessário.
Inaimathi
Eu vinculo C-; alternar-comentar-on-line para lidar com o caso de linha e manter comment-dwim com sua funcionalidade original.
Chris Clark
Err, e deveria ter incluído a função de alternância-comment-on-line :) (defun toggle-comment-on-line () (interactive) (comment-or-uncomment-region (line-beginning-position) (line-end-position)))
Chris Clark
6

Tente fazer o tutorial (Ch t). Ele ensina muitas das combinações de teclas fundamentais e, então, você pode começar a procurar ainda mais divertidas.


fonte
Vergonha de dizer que nunca ouvi falar disso!
haylem
3

M-x apropos

M-x describe-key

M-x describe-bindings

C-x C-f ~/.emacs (ajuda se você conhece o Elisp antes de executar este)

Praticamente tudo o resto é preferência pessoal. Às vezes, as pessoas falam sobre o Emacs como se fosse um editor.

Isso não é verdade.

O Emacs é uma linguagem projetada para expressar sucintamente editores (ou seja, Elisp é seu melhor 'recurso'). A quantidade de milhas que você obtém depende direta e inteiramente de quão bem você entende esse princípio.

Inaimathi
fonte
1
Simetria agradável, considerando que o lisp é uma linguagem de programação programável. (Ou, uma linguagem de programação que permite que você para descrever sucintamente uma linguagem de programação.)
Frank Shearar
1
Não muito correto. O Emacs é um ambiente interativo do LISP, que teve algumas decisões de design do LISP resolvidas de maneira a facilitar a gravação de editores e extensões de editor e um monte de código fixo, alguns compilados em infraestrutura, que ajudam a escrever editores.
John R. Strohm
1
M-:

isso permite avaliar o elisp arbitrário no minibuffer

C-x C-q

visualização somente leitura de um arquivo

C-c C-c

região de comentários

entre outros!

Brad Clawsie
fonte
1
  • Cj (Mx nova linha e recuo)
  • CM- \ (região de indentação Mx)
  • M-. (Mx find-tag) requer a execução de etags no seu código
  • M- / (Mx dabbrev-expand)
  • Compilação Mx
  • Cx vv (Mx vc-next-action)
  • Mx font-lock-mode

e leia a documentação para o modo de idioma usado (Chm (modo de descrição Mx))

Eu também sou um grande fã de (Mx shell), M-! (Comando shell Mx) e M- | (Mx shell-comando-na-região) porque acho muito útil poder executar comandos de dentro do emacs e cortar e colar a saída.

Além disso, as linhas de classificação Mx, os campos de classificação Mx e os campos de classificação num. Mx são úteis para manter longas listas de itens (como nomes de variáveis) em ordem alfabética ou numérica.


fonte
-1

Mx revert-buffer é um que eu uso muito.

Paul Nathan
fonte
(global-auto-revert-mode 1) no seu arquivo emacs, usei muito isso também.
Asm
-1

Mx help-with-tutorial

Vatine
fonte