Atualizei recentemente o emacs para a versão 24.4.1 e algo mudou na indentação de novas linhas. Quando pressiono enter, espero apenas o caractere de nova linha "nu" no ponto em que o cursor estava presente, especialmente se eu estiver no meio da linha, essa linha deve ser dividida e nenhum caractere deve ser excluído, incluindo espaços. Infelizmente, esse não é o caso.
Aqui está um exemplo:
a b
Quando coloco o cursor logo depois a
e clico enter, recebo:
a
b
enquanto deveria ser
a
b
Pesquisei um pouco no Google e provavelmente isso se deve à indentação automática. Como posso desabilitar isso? Estou falando de texto ou modo fundamental, se isso importa.
indentation
newlines
WeSenseASoulInSearchOfAnswers
fonte
fonte
M-x view-emacs-news
(ouC-h n
). Você pode ler o NEWS de qualquer versão anterior adicionando um prefixo arg. Ao visualizar o NEWS e fazer uma busca por "recuo", o primeiro resultado é extremamente semelhante à resposta de Drew. Apenas uma dica útil para qualquer problema relacionado a atualizações.Respostas:
Desativar
electric-indent-mode
:Isso funciona com qualquer versão do Emacs. Esse incômodo ou recurso novo e brilhante, dependendo do seu ponto de vista, foi introduzido como padrão no Emacs 24.4.
Veja também este post semelhante no StackOverflow.
(No entanto, parece que você está dizendo o contrário e que deseja
RET
recuar, mas não está obtendo esse recuo. O que mudou foi queRET
("Enter") agora recua automaticamente e é necessário pressionarC-j
para obter apenas uma nova linha com nenhum recuo. Eles trocaramRET
eC-j
, com efeito. Se você desejaRET
recuar, o novo comportamento padrão deve fornecer o que você deseja. De qualquer forma, o modo éelectric-indent-mode
: ligue ou desligue conforme desejar.)fonte
Existe a possibilidade de inserir um caractere de nova linha com
C-q C-j
e há 3 comandos para dividir a linha:open-line C-o
,split-line C-M-o
eonewline RET, C-m
que você usou. Se você posicionar o cursor como você disse após aa
tecla e pressionar,C-o
a linha atual será interrompida após o cursor e todos os caracteres estarão na próxima linha. a linha dividida manterá a posição da coluna para que um espaço em branco extra seja inserido antes do conteúdo.Hmm, interessante, com
C-M-o
a linha atual também fica em branco no final, de modo que asb
posições do cursor e do cursor se alinham após a alteração.No modo fundamental,
C-j
altera o buffer de acordo com as suas expectativas na minha máquina eC-j
é obrigado aelectric-newline-and-maybe-indent
fonte