Com visual-line-mode
habilitado no Emacs, as linhas longas envolvem intervalos naturais no texto, permitindo que eu veja todo o texto em qualquer linha. Wrap
aparece na minha barra de status. Às vezes eu quero as linhas para não embrulhar. Eu posso alternar esse estado pelo comando: M-x visual-line-mode
. No entanto, quando eu faço isso, C-e
não me leva ao final da linha, mas em algum lugar em direção a uma "largura de tela" ou algo assim, embora pareça ser variável.
Eu posso consertar o problema chamando M-x toggle-truncate-lines
depois de executar o M-x visual-line-mode
, mas o que eu gostaria de fazer é usar um único comando Function key para executar os dois comandos em seqüência.
No meu arquivo .emacs
, tenho atualmente isto:
(global-set-key [f8] 'toggle-truncate-lines)
(global-set-key [f9] 'visual-line-mode)
Com essas chaves definidas, posso usar as teclas de função f9
e f8
em sequência para obter os resultados desejados. Eu pensei que eu poderia escrever uma função elisp para chamar as duas funções em seqüência e, em seguida, mapear uma única tecla de função para essa função, da seguinte forma:
(defun unwrap-lines ()
"Unwrap lines, and fix the C-e not to the end problem"
(interactive)
(visual-line-mode)
(toggle-truncate-lines))
(global-set-key [f10] 'unwrap-lines)
No entanto, depois de definir essa função, parece apenas chamar o segundo comando na minha função toggle-truncate-lines
e ignora o aspecto visual-line-mode
da função.
O que estou fazendo de errado?