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?


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.


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)

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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.