Wyłącz smartparens w znakach kosmicznych

12

To smartparens-modenie 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?

Jeff Bauer
źródło

Odpowiedzi:

15

Możesz dodać smartparensdo dotspacemacs-excluded-packageslisty swojego pliku dot.

syl20bnr
źródło
6

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-offswoją dotspacemacs/user-configfunkcję. Aby to zrobić, naciśnij SPC f e d, spowoduje to otwarcie .spacemacspliku. 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
)
Mirzhan Irkegulov
źródło
2

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-configw .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 smartparenspakiet zgodnie z sugestią zawartą w innej odpowiedzi, utracisz niektóre inne funkcje, takie jak SPC j n( sp-newline).

Jaakko Luttinen
źródło
1

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)
Jeff Bauer
źródło
1

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))
Loevborg
źródło