Con visual-line-modeAbilitato in Emacs, le linee lunghe si avvolgono nelle interruzioni naturali del testo, permettendomi di vedere tutto il testo su una data riga. Wrapappare nella mia barra di stato. A volte voglio che le righe non si chiudano. Posso passare da quello stato comando: M-x visual-line-mode. Tuttavia, quando lo faccio, C-enon mi porta alla fine della linea, ma piuttosto da qualche parte verso una "larghezza di schermo" o giù di lì, anche se sembra essere variabile.
Posso risolvere il problema chiamando M-x toggle-truncate-linesdopo aver eseguito il M-x visual-line-mode, ma quello che mi piacerebbe fare è utilizzare un singolo comando tasto funzione per eseguire entrambi i comandi in sequenza.
Nel mio .emacsfile al momento ho questo:
(global-set-key [f8] 'toggle-truncate-lines)
(global-set-key [f9] 'visual-line-mode)
Con questi tasti definiti, posso usare i tasti funzione f9e f8in sequenza per ottenere i risultati desiderati. Ho pensato di poter scrivere una funzione elisp per chiamare le due funzioni in sequenza e quindi mappare un singolo tasto funzione a quella funzione, in questo modo:
(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)
Tuttavia, dopo aver definito questa funzione, sembra chiamare solo il secondo comando nella mia funzione toggle-truncate-linese salta l' visual-line-modeaspetto della funzione.
Che cosa sto facendo di sbagliato?
(visual-line-mode -1)Potresti anche voler assicurarti di non utilizzareglobal-visual-line-modeciò che influenza tutto.