To smartparens-mode
nie pasuje do mojego stylu edycji. Jeśli jednak spróbuję go wyłączyć globalnie w znakach kosmicznych, tryb zostanie ponownie włączony:
(smartparens-global-mode -1)
Jak wyłączyć tryb smartparens?
To smartparens-mode
nie pasuje do mojego stylu edycji. Jeśli jednak spróbuję go wyłączyć globalnie w znakach kosmicznych, tryb zostanie ponownie włączony:
(smartparens-global-mode -1)
Jak wyłączyć tryb smartparens?
Odpowiedzi:
Spacemacs wykorzystuje koncepcję przełączania do włączania / wyłączania mniejszych trybów dla bufora. Przełączniki są pogrupowane pod SPC ti SPC T, ale przełączają się tylko dla bieżącego bufora. Możesz tymczasowo wyłączyć smartparens dla bieżącego bufora naciskając SPC t p( spacemacs/toggle-smartparens
).
Ale jeśli chcesz na stałe wyłączyć smartparens dla każdego bufora, włącz spacemacs/toggle-smartparens-globally-off
swoją dotspacemacs/user-config
funkcję. Aby to zrobić, naciśnij SPC f e d, spowoduje to otwarcie .spacemacs
pliku. Następnie upewnij się, że masz coś takiego:
(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
)
Od https://github.com/syl20bnr/spacemacs/issues/1603#issuecomment-213553034 :
smartparens-global-mode to tryb globalny. Jeśli jest włączony, masz tryb smartparens w każdym buforze. Wyłączenie go nie zapobiega włączeniu trybu smartparens w dowolnym miejscu. (Byłoby to głupie, ponieważ gdyby tak było, nie byłoby możliwości selektywnego włączenia smartparens. Byłoby to wszędzie lub nigdzie, w zależności od tego trybu.) W rzeczywistości tryb smartparens-global jest już domyślnie wyłączony.
Spacemacs włącza tryb smartparens we wszystkich buforach programowania, włączając go w haczyku. Dlatego musisz usunąć funkcję z zaczepu trybu progresywnego.
Aby usunąć funkcję z prog-mode-hook
, dodaj następującą linię dotspacemacs/user-config
w .spacemacs
:
(remove-hook 'prog-mode-hook #'smartparens-mode)
Jeśli nie masz domyślnie wyłączonego trybu smartparens, możesz również dodać następujący wiersz:
(spacemacs/toggle-smartparens-globally-off)
Pamiętaj, że jeśli wykluczysz smartparens
pakiet zgodnie z sugestią zawartą w innej odpowiedzi, utracisz niektóre inne funkcje, takie jak SPC j n
( sp-newline
).
Dodaj haczyki wejścia / wyjścia dla trybu wstawiania zła:
;; 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)
W trybie hybrydowym spacemacs, zastosuj do haków zła-hybrydowego stanu:
;; 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)
Oto jak selektywnie włączyć smartpareny tylko w określonych trybach
(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))