Як відключити обгортання рядків у Spacemacs?


19

У мене є обмежений досвід emacs. Спробував знайти рішення відключити обгортання рядків у Spacemacs, але не зміг знайти жодного.

Рішення цієї проблеми у Vim - виконати set nowrap. Але це не працює в Spacemacs.

Будь-яке рішення цього було б вдячно.


Я ніколи не бачив Spacemacs раніше, але це здається, що ви хочете відключити auto-fill-mode. Спробуйте M-x auto-fill-mode(що вмикає і вимикає), і якщо це працює, і це саме ви маєте на увазі, ви можете відключити його автоматично у своєму файлі init.
Дан

3
Спробуйте наступне C-h v truncate-linesпісля запуску Spacemacs. Це підкаже вам, на що встановлено під час запуску.
Джонатан Ліч-Пепін

@ JonathanLeech-Pepin Дякую, що ваша порада допомогла мені налагодити проблему.
Вамзеє

Відповіді:


9

Додайте це до ~/.spacemacsфункції налаштування:

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

1
Я з повагою не погоджуюся з цією відповіддю, тому що це, по суті, скасовує (переосмислюючи) попередні налаштування (якщо вони суперечать), і він працює в цьому випадку, тому що hack-local-variables-hookвикликається пізніше в процесі завантаження буфера. Кращим рішенням було б зробити його специфічним для основного режиму або створити краще глобальне рішення, яке не використовує hack-local-variables-hook.
законник

@lawlist Я згоден, що це хак, але в AFAIK немає режиму для скорочення ліній. Якщо ви хочете, щоб це було в усьому світі, це може бути складним через гачки головного режиму, і це буде не краще, ніж це. Можливо, краще використовувати функцію тумблера замість цього, але вона не пропонує примушувати активацію обрізаних ліній.
syl20bnr

29

23 листопада syl20bnr додав новий перемикач під назвою spacemacs/toggle-truncate-lines, доступний на SPC t l. Ще одне перемикання, яке також може бути вам корисним spacemacs/toggle-visual-line-navigation, доступне на SPC t L. Дивіться Github фіксувати .

Ось як dotspacemacs/user-configможна виглядати, щоб увімкнути обидва перемикачі:

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

Якщо ви не знаєте, де dotspacemacs/user-configце, він знаходиться у вашому .spacemacsфайлі, доступний натисканням SPC f e d.

Крюк для spacemacs/toggle-visual-line-navigation-onтому , що він не працює глобально інакше.


Я шукав цей режим гачок віками! Спасибі!
hoosierEE

2
Це еквівалент :set nowrap. Спасибі!
shakerlxxv

1
SPC t Lдля легкої виграші.
sjas

8

M-x toggle-truncate-lines RET є еквівалентом Emacs від Vim :set wrap!


І програмно:(setq truncate-lines t)
законник

@nanny Дякуємо, ваша пропозиція працює для відключення обгортання рядків після запуску пробілів. Але пропозиція @lawlist про додавання (setq truncate-lines t)до ~ / .spacemacs не працює.
Вамзеє

@Vamsee - Цей рядок коду, який я запропонував, повинен використовуватися програмно - наприклад, під час написання функції. Його можна використовувати на вимогу, ввівши: M-x eval-expression RET (setq truncate-lines t) RET
list list

2
@Vamsee - truncate-linesце локальна змінна буфера, що означає, що код потрібно виконати, поки фокус знаходиться всередині цільового буфера. Бібліотека, яку ви цитували, - це колекція з мільйона та однієї попередньо вибраних налаштувань користувачів, включаючи певні вибори на основі різних основних режимів. Щоб дійсно відстежувати свою проблему, вам потрібно буде вказати, який основний режим ви використовуєте - тоді потрібно було б перевірити всі основні гачки режиму, які використовуються у відповідній бібліотеці, і навіть тоді, можливо, у вас є це налаштування десь ще. Наприклад, visual-line-modeдозволяє обертати
lawlist

1
@lawlist Нарешті це працює, мені довелося встановити власну змінну всередині функції, custom-set-variablesа не у dotspacemacs/configфункції. Спасибі за вашу допомогу.
Вамзее

2

Я додав це до свого файлу init всередині, dotspacemacs/user-configщоб відключити автоматичний розрив рядків:

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

За замовчуванням можна вмикати / вимикати за допомогою SPC t F.


0

Я б прокоментував, але мені не вистачає репутації, тому я просто напишу це тут.

Перший вираз Миржана Іркегулова спрацював, але другий не спрацював (add-hook 'text-mode-hook 'spacemacs/toggle-visual-line-navigation-on)

Натомість мені довелося користуватися (global-visual-mode t)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.