Comment désactiver le retour à la ligne dans Spacemacs?


19

J'ai une expérience emacs limitée. J'ai essayé de trouver une solution pour désactiver le retour à la ligne dans Spacemacs mais je n'en ai pas trouvé.

La solution à ce problème dans Vim est d'exécuter set nowrap. Mais cela ne fonctionne pas dans Spacemacs.

Toute solution à ce problème serait très appréciée.


Je n'ai jamais vu Spacemacs auparavant, mais il semble que vous cherchiez à le désactiver auto-fill-mode. Essayez M-x auto-fill-mode(qui l'activera et le désactiver) et, si cela fonctionne et que c'est ce que vous voulez dire, vous pouvez le désactiver automatiquement dans votre fichier init.
Dan

3
Essayez ce qui suit C-h v truncate-linesaprès avoir démarré Spacemacs. Cela vous dira à quoi il est réglé au démarrage.
Jonathan Leech-Pepin

@ JonathanLeech-Pepin Merci, votre conseil m'a aidé à déboguer le problème.
Vamsee

Réponses:


9

Ajoutez ceci à votre ~/.spacemacsfonction de configuration:

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

1
Je suis respectueusement en désaccord avec cette réponse, car elle remplace essentiellement (remplaçant) les paramètres précédents (le cas échéant en contradiction) et cela fonctionne dans ce cas parce que le hack-local-variables-hookest appelé plus tard dans le temps dans le processus de chargement d'un tampon. La meilleure solution serait de le rendre spécifique au mode majeur ou de concevoir une meilleure solution globale qui n'utilise pas le hack-local-variables-hook.
lawlist

@lawlist Je suis d'accord que c'est un hack mais AFAIK il n'y a pas de mode pour tronquer les lignes. Si vous le souhaitez à l'échelle mondiale, cela peut être difficile via les crochets du mode principal, et ce ne sera pas mieux que cela. Il peut être préférable d'utiliser la fonction bascule à la place, mais elle ne propose pas de forcer l'activation des lignes tronquées.
syl20bnr

29

Le 23 novembre, syl20bnr a ajouté une nouvelle bascule appelée spacemacs/toggle-truncate-lines, disponible sur SPC t l. Une autre bascule que vous pouvez également trouver utile est spacemacs/toggle-visual-line-navigationdisponible sur SPC t L. Voir Github commit .

Voici à quoi vous dotspacemacs/user-configpouvez ressembler pour activer les deux bascules:

(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)
)

Si vous ne savez pas où il se dotspacemacs/user-configtrouve, il se trouve dans votre .spacemacsfichier, accessible en appuyant sur SPC f e d.

Le crochet pour spacemacs/toggle-visual-line-navigation-onest parce qu'il ne fonctionne pas dans le monde autrement.


Je cherchais ce crochet de mode depuis des lustres! Merci!
hoosierEE

2
C'est l'équivalent de :set nowrap. Merci!
shakerlxxv

1
SPC t Lpour la victoire facile.
sjas

8

M-x toggle-truncate-lines RET est l'équivalent Emacs de Vim :set wrap!


Et par programmation:(setq truncate-lines t)
lawlist

@nanny Merci, votre suggestion fonctionne pour désactiver le retour à la ligne après le démarrage de spacemacs. Mais la suggestion de @lawlist d'ajouter (setq truncate-lines t)à ~ / .spacemacs ne fonctionne pas.
Vamsee

@Vamsee - Cette ligne de code que j'ai suggérée est destinée à être utilisée par programme - par exemple, lors de l'écriture d'une fonction. Il peut être utilisé à la demande en tapant: M-x eval-expression RET (setq truncate-lines t) RET
lawlist

2
@Vamsee - truncate-linesest une variable locale du tampon, ce qui signifie que le code doit être exécuté pendant que le focus est à l'intérieur du tampon cible. La bibliothèque que vous avez citée est une collection d'un million et un de personnalisations utilisateur présélectionnées, y compris certaines sélections basées sur divers modes principaux. Pour vraiment dépister votre problème, vous devez spécifier le mode principal que vous utilisez - puis il serait nécessaire de vérifier tous les crochets de mode principal utilisés par la bibliothèque en question, et même dans ce cas, il est possible que vous ayez ce paramètre quelque part autre. Par exemple, visual-line-modeactive le wrapping
lawlist

1
@lawlist Enfin, cela fonctionne, j'ai dû définir une variable personnalisée à l'intérieur de la fonction custom-set-variableset non dans la dotspacemacs/configfonction. Merci de votre aide.
Vamsee du

2

J'ai ajouté ceci à mon fichier init à l'intérieur dotspacemacs/user-configpour désactiver le saut de ligne automatique:

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

Par défaut, vous pouvez activer / désactiver avec SPC t F.


0

J'aurais fait un commentaire, mais je n'ai pas assez de réputation, je vais donc l'écrire ici.

La première expression de Mirzhan Irkegulov a fonctionné, mais la seconde n'a pas fonctionné (add-hook 'text-mode-hook 'spacemacs/toggle-visual-line-navigation-on)

Au lieu de cela, j'ai dû utiliser (global-visual-mode t)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.