Como inserir uma nova linha e pular para ela, no emacs?

12

É exatamente o mesmo que eclipse Shift+Enter.

Por exemplo, eu tenho um texto:

Hello, *everyone.
I'm Freewind.

O *na primeira linha é o cursor. Então eu pressiono algum atalho de tecla, ele se torna:

Hello, everyone.
*
I'm Freewind.

Observe que há uma nova linha na segunda linha e o cursor está na nova linha.

Qual é o atalho de tecla que posso usar?

Vento livre
fonte
3
Eu sempre uso Ce e entro.

Respostas:

16

C-e C-m

ou

C-e C-j

Ambos vão para o final da linha e adicionam nova linha. O segundo também irá recuar.

Ray Vega
fonte
Posso mapear uma tecla para fazer esse trabalho, então só preciso pressionar uma vez?
Freewind
Esse é um mapeamento de chave. O Emacs permite vincular comandos a sequências de teclas e a maioria dos comandos são duas chaves. Geralmente, é uma má idéia vincular-se a uma chave, pois a maioria das ligações de uma chave é usada pelos fundamentos do emacs.
Ross Patterson
C-einvoca move-end-of-linee C-minvocanewline
Dror 15/06
10

Para completar, aqui está uma função:

(defun end-of-line-and-indented-new-line ()
  (interactive)
  (end-of-line)
  (newline-and-indent))

(global-set-key (kbd "<S-return>") 'end-of-line-and-indented-new-line)
phimuemue
fonte
Obrigado, mas como eu o uso? Basta mapear uma chave para esta função? Posso mapear "Shift-Enter" para ele?
Freewind
@ Resposta do Freewind atualizada
Trey Jackson
3
Se você usar comment-indent-new-line, ele também inserirá os caracteres de comentário apropriados se você estiver dentro de um comentário.
Phs #
6

Você pode criar algo semelhante a uma macro de teclado como esta.

(global-set-key (kbd "<S-return>") "\C-e\C-m")

ou mesmo:

(global-set-key (kbd "<S-return>") (kbd "C-e C-m"))

para evitar o uso de dois tipos diferentes de sintaxe para chaves.

tipo de herói
fonte