Як відключити обгортання рядків у 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.