Це smartparens-mode
не відповідає моєму стилю редагування. Якщо я спробую відключити його глобально в spacemacs, режим знову ввімкнено:
(smartparens-global-mode -1)
Як відключити режим smartparens?
Це smartparens-mode
не відповідає моєму стилю редагування. Якщо я спробую відключити його глобально в spacemacs, режим знову ввімкнено:
(smartparens-global-mode -1)
Як відключити режим smartparens?
Відповіді:
Spacemacs використовує концепцію перемикачів, щоб увімкнути / вимкнути незначні режими на кожен буфер. Перемикачі згруповані під SPC tі SPC T, але вони перемикаються лише для поточного буфера. Ви можете тимчасово відключити смарт-параметри для поточного буфера, натиснувши SPC t p( spacemacs/toggle-smartparens
).
Але якщо ви хочете назавжди вимкнути смарт-паради для кожного буфера, spacemacs/toggle-smartparens-globally-off
введіть свою dotspacemacs/user-config
функцію. Для цього натисніть SPC f e d, це відкриє ваш .spacemacs
файл. Потім переконайтеся, що у вас є щось подібне:
(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."
; other code
(spacemacs/toggle-smartparens-globally-off)
; other code
)
З https://github.com/syl20bnr/spacemacs/isissue/1603#issuecomment-213553034 :
smartparens-global-mode - це глобальний режим. Якщо це ввімкнено, ви отримуєте режим smartparens у кожному буфері. Якщо вимкнути його, не завадить увімкнути режим smartparens де завгодно. (Це було б нерозумно, бо якби це було правдою, не було б способу вибіркового включення смарт-одягу. Це було б скрізь або ніде, в залежності від режиму.) Насправді режим smartparens-global вже вимкнено за замовчуванням.
Spacemacs дозволяє вмикати режим smartparens у всіх буферах програмування, включаючи його в гачку. Тому вам потрібно видалити функцію з прог-режиму-гачка.
Щоб видалити функцію з prog-mode-hook
, додайте наступний рядок dotspacemacs/user-config
у .spacemacs
:
(remove-hook 'prog-mode-hook #'smartparens-mode)
Якщо у вас не вимкнено режим смарт-одягу за замовчуванням, ви також можете додати такий рядок:
(spacemacs/toggle-smartparens-globally-off)
Зауважте, що якщо ви вилучите smartparens
пакет, як було запропоновано в іншій відповіді, ви втратите деякі інші функції, такі як SPC j n
( sp-newline
).
Додайте гачки входу / виходу для режиму злого вставки:
;; Defeat smartparens-mode in evil mode
(add-hook 'evil-insert-state-entry-hook 'turn-off-smartparens-mode)
(add-hook 'evil-insert-state-exit-hook 'turn-on-smartparens-mode)
У гібридному режимі spacemacs застосуйте до гачків злого-гібридного стану:
;; Alternative way to defeat smartparens-mode in hybrid mode
(add-hook 'evil-hybrid-state-entry-hook 'turn-off-smartparens-mode)
(add-hook 'evil-hybrid-state-exit-hook 'turn-on-smartparens-mode)
Ось як вибірково дозволити розумне виготовлення лише в певних режимах
(defun dotspacemacs/user-config ()
(require 'smartparens)
(remove-hook 'prog-mode-hook #'smartparens-mode)
(remove-hook 'markdown-mode-hook #'smartparens-mode)
(spacemacs/toggle-smartparens-globally-off)
(add-hook 'clojure-mode-hook '(lambda () (smartparens-mode 1)) t))