Wie deaktiviere ich Zeilenumbruch in Spacemacs?


19

Ich habe nur begrenzte Erfahrung mit Emacs. Es wurde versucht, eine Lösung zum Deaktivieren des Zeilenumbruchs in Spacemacs zu finden, es wurde jedoch keine gefunden.

Die Lösung für dieses Problem in Vim ist die Ausführung set nowrap. Aber es funktioniert nicht in Spacemacs.

Jede mögliche Lösung zu diesem würde sehr geschätzt.


Ich habe Spacemacs noch nie gesehen, aber es hört sich so an, als wollten Sie sie deaktivieren auto-fill-mode. Try M-x auto-fill-mode(schaltet es ein und aus) und wenn das funktioniert und Sie es meinen, können Sie es in Ihrer Init-Datei automatisch deaktivieren.
Dan

3
Versuchen Sie Folgendes, C-h v truncate-linesnachdem Sie Spacemacs gestartet haben. Hier erfahren Sie, auf was es beim Starten eingestellt ist.
Jonathan Leech-Pepin

@ JonathanLeech-Pepin Danke Dein Tipp hat mir beim Debuggen geholfen.
Vamsee

Antworten:


9

Fügen Sie dies zu Ihrer ~/.spacemacsKonfigurationsfunktion hinzu:

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

1
Ich bin mit dieser Antwort respektvoll nicht einverstanden, da sie im Wesentlichen frühere Einstellungen übertrifft (außer Kraft setzt) ​​(falls dies widerspricht) und in diesem Fall funktioniert, da hack-local-variables-hooksie später im Ladevorgang eines Puffers aufgerufen wird. Die bessere Lösung wäre es, den Hauptmodus spezifisch zu machen oder eine bessere globale Lösung zu entwerfen, bei der der Hauptmodus nicht verwendet wird hack-local-variables-hook.
Gesetzesliste

@lawlist Ich stimme zu, es ist ein Hack, aber AFAIK gibt es keinen Modus zum Abschneiden von Zeilen. Wenn Sie es global wollen, kann es über Hauptmodus-Hooks schwierig sein, und es wird nicht besser sein als dies. Es ist möglicherweise besser, stattdessen die Umschaltfunktion zu verwenden, sie bietet jedoch keine Möglichkeit, die Aktivierung von abgeschnittenen Linien zu erzwingen.
syl20bnr

29

Am 23. November hat syl20bnr einen neuen Umschalter namens hinzugefügt spacemacs/toggle-truncate-lines, der am verfügbar ist SPC t l. Ein anderer Schalter, den Sie vielleicht auch nützlich finden, ist spacemacs/toggle-visual-line-navigationverfügbar auf SPC t L. Siehe Github-Commit .

So dotspacemacs/user-configkönnen Sie beide Optionen aktivieren:

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

Wenn Sie nicht wissen, wo es sich dotspacemacs/user-configbefindet, finden Sie es in Ihrer .spacemacsDatei. Drücken Sie dazu auf SPC f e d.

Der Haken für spacemacs/toggle-visual-line-navigation-onist, weil es sonst nicht global funktioniert.


Ich habe seit Ewigkeiten nach diesem Modehaken gesucht! Vielen Dank!
hoosierEE

2
Dies ist das Äquivalent von :set nowrap. Vielen Dank!
Shakerlxxv

1
SPC t Lfür den einfachen Gewinn.
Sjas

8

M-x toggle-truncate-lines RET ist das Emacs-Äquivalent von Vim :set wrap!


Und programmatisch:(setq truncate-lines t)
Gesetzesliste 20.11.14

@nanny Danke, dein Vorschlag funktioniert, wenn du den Zeilenumbruch nach dem Starten von Spacemacs deaktivierst. Aber @lawlist Vorschlag des Hinzufügens (setq truncate-lines t)zu ~ / .spacemacs funktioniert nicht.
Vamsee

@Vamsee - Diese von mir vorgeschlagene Codezeile soll programmgesteuert verwendet werden - z. B. beim Schreiben einer Funktion. Es kann bei Bedarf verwendet werden, indem Sie M-x eval-expression RET (setq truncate-lines t) RET
Folgendes

2
@Vamsee - truncate-linesist eine pufferlokale Variable, was bedeutet, dass der Code ausgeführt werden muss, während sich der Fokus im Zielpuffer befindet. Bei der von Ihnen angegebenen Bibliothek handelt es sich um eine Sammlung von einer Million vorgewählter Benutzeranpassungen, einschließlich bestimmter Auswahlen, die auf verschiedenen Hauptmodi basieren. Um Ihr Problem wirklich aufzuspüren, müssen Sie angeben, welchen Hauptmodus Sie verwenden. Dann müssen Sie alle Hauptmodus-Hooks überprüfen, die von der betreffenden Bibliothek verwendet werden, und selbst dann haben Sie diese Einstellung möglicherweise irgendwo sonst. Zum Beispiel visual-line-modeermöglicht Verpackung
lawlist

1
@lawlist Endlich funktioniert es. Ich musste eine benutzerdefinierte Variable innerhalb der Funktion custom-set-variablesund nicht in der dotspacemacs/configFunktion setzen. Danke für Ihre Hilfe.
Vamsee,

2

Ich habe dies zu meiner Init-Datei hinzugefügt dotspacemacs/user-config, um den automatischen Zeilenumbruch zu deaktivieren:

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

Standardmäßig können Sie mit ein- und ausschalten SPC t F.


0

Ich hätte es kommentiert, aber ich habe nicht genug Ruf, also schreibe ich es einfach hier.

Mirzhan Irkegulovs erster Ausdruck funktionierte, der zweite jedoch nicht (add-hook 'text-mode-hook 'spacemacs/toggle-visual-line-navigation-on)

Stattdessen musste ich verwenden (global-visual-mode t)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.