Come disabilitare il ritorno a capo in Spacemacs?


19

Ho un'esperienza limitata di emacs. Ho cercato di trovare una soluzione per disabilitare il ritorno a capo in Spacemacs ma non sono riuscito a trovarne.

La soluzione a questo problema in Vim è eseguire set nowrap. Ma non funziona in Spacemacs.

Qualsiasi soluzione a questo sarebbe molto apprezzata.


Non ho mai visto Spacemacs prima, ma sembra che tu voglia disabilitare auto-fill-mode. Prova M-x auto-fill-mode(che lo accenderà e spegnerà) e, se funziona ed è quello che vuoi dire, puoi disabilitarlo automaticamente nel tuo file init.
Dan

3
Prova quanto segue C-h v truncate-linesdopo aver avviato Spacemacs. Questo ti dirà su cosa è impostato all'avvio.
Jonathan Leech-Pepin,

@ JonathanLeech-Pepin Grazie il tuo suggerimento mi ha aiutato a eseguire il debug del problema.
Vamsee,

Risposte:


9

Aggiungi questo alla tua ~/.spacemacsfunzione di configurazione:

(add-hook 'hack-local-variables-hook (lambda () (setq truncate-lines t)))

1
Non sono rispettosamente d'accordo con questa risposta, perché essenzialmente sta superando (sovrascrivendo) le impostazioni precedenti (se presenti in contraddizione) e funziona in questo caso perché hack-local-variables-hookviene chiamato più avanti nel tempo nel processo di caricamento di un buffer. La soluzione migliore sarebbe quella di renderlo specifico per la modalità principale o progettare una soluzione globale migliore che non utilizzi hack-local-variables-hook.
elenco delle leggi

@lawlist Sono d'accordo che sia un hack ma AFAIK non esiste una modalità per troncare le linee. Se lo desideri a livello globale, può essere complicato tramite i principali hook di modalità e non sarà meglio di così. Potrebbe essere preferibile utilizzare invece la funzione di attivazione / disattivazione, ma non offre forzare l'attivazione di linee troncate.
syl20bnr,

29

Il 23 novembre syl20bnr ha aggiunto un nuovo toggle chiamato spacemacs/toggle-truncate-lines, disponibile su SPC t l. Un altro interruttore che potresti trovare utile è spacemacs/toggle-visual-line-navigation, disponibile su SPC t L. Vedi Github commit .

Ecco come si dotspacemacs/user-configpuò apparire per abilitare entrambi gli interruttori:

(defun dotspacemacs/user-config ()
  "Configuration function for user code.
This function is called at the very end of Spacemacs initialization after
layers configuration. You are free to put any user code."
  (spacemacs/toggle-truncate-lines-on)
  ;; Visual line navigation for textual modes
  (add-hook 'text-mode-hook 'spacemacs/toggle-visual-line-navigation-on)
)

Se non sai dove si dotspacemacs/user-configtrova, è nel tuo .spacemacsfile, disponibile premendo SPC f e d.

Il gancio per spacemacs/toggle-visual-line-navigation-onè perché non funziona a livello globale altrimenti.


Sto cercando quel gancio modalità da secoli! Grazie!
hoosierEE

2
Questo è l'equivalente di :set nowrap. Grazie!
shakerlxxv,

1
SPC t Lper la vittoria facile.
sjas,

8

M-x toggle-truncate-lines RET è l'equivalente di Emacs di Vim :set wrap!


E a livello di programmazione:(setq truncate-lines t)
elenco delle leggi del

@nanny Grazie, il tuo suggerimento funziona per disabilitare il ritorno a capo dopo l'avvio di spacemacs. Ma il suggerimento di @lawlist di aggiungere (setq truncate-lines t)a ~ / .spacemacs non funziona.
Vamsee,

@Vamsee - Quella linea di codice che ho suggerito è pensato per essere utilizzato a livello di codice - per esempio, quando si scrive una funzione. Può essere utilizzato su richiesta digitando: M-x eval-expression RET (setq truncate-lines t) RET
elenco delle leggi

2
@Vamsee - truncate-linesè una variabile buffer-locale, il che significa che il codice deve essere eseguito mentre lo stato attivo è all'interno del buffer di destinazione. La libreria che hai citato è una raccolta di un milione e uno di personalizzazioni utente preselezionate, incluse alcune selezioni basate su varie modalità principali. Per rintracciare davvero il tuo problema, dovresti specificare quale modalità principale stai usando - quindi sarebbe necessario controllare tutti i principali hook di modalità usati dalla libreria in questione, e anche allora, è possibile che tu abbia quell'impostazione da qualche parte altro. Ad esempio, visual-line-modeconsente il wrapping
elenco delle leggi

1
@lawlist Finalmente funziona ho dovuto impostare una variabile personalizzata all'interno della funzione custom-set-variablese non nella dotspacemacs/configfunzione. Grazie per l'aiuto.
Vamsee,

2

Ho aggiunto questo al mio file init all'interno dotspacemacs/user-configper disabilitare l'interruzione di linea automatica:

(spacemacs/toggle-auto-fill-mode-off)

Per impostazione predefinita, è possibile attivare / disattivare con SPC t F.


0

Avrei commentato, ma non ho abbastanza reputazione, quindi lo scriverò qui.

La prima espressione di Mirzhan Irkegulov ha funzionato, ma la seconda non ha funzionato (add-hook 'text-mode-hook 'spacemacs/toggle-visual-line-navigation-on)

Invece, ho dovuto usare (global-visual-mode t)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.