Das smartparens-mode
passt nicht zu meinem Schnittstil. Wenn ich versuche, es global in Spacemacs zu deaktivieren, wird der Modus wieder aktiviert:
(smartparens-global-mode -1)
Wie deaktiviere ich den Smartparens-Modus?
Das smartparens-mode
passt nicht zu meinem Schnittstil. Wenn ich versuche, es global in Spacemacs zu deaktivieren, wird der Modus wieder aktiviert:
(smartparens-global-mode -1)
Wie deaktiviere ich den Smartparens-Modus?
Antworten:
Spacemacs verwendet das Toggle- Konzept , um Nebenmodi pro Puffer zu aktivieren / deaktivieren. Toggles sind unter SPC tund gruppiert SPC T, schalten aber nur für den aktuellen Puffer. Sie können Smartparens für den aktuellen Puffer vorübergehend deaktivieren, indem Sie SPC t p( spacemacs/toggle-smartparens
) drücken .
Wenn Sie jedoch Smartparens für jeden Puffer dauerhaft deaktivieren möchten, geben Sie spacemacs/toggle-smartparens-globally-off
Ihre dotspacemacs/user-config
Funktion ein. Drücken Sie dazu SPC f e d, um Ihre .spacemacs
Datei zu öffnen . Dann stellen Sie sicher, dass Sie so etwas haben:
(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
)
Von https://github.com/syl20bnr/spacemacs/issues/1603#issuecomment-213553034 :
Der SmartParens-Global-Modus ist ein globaler Modus. Wenn es aktiviert ist, erhalten Sie in jedem Puffer den Smartparens-Modus. Das Ausschalten hindert Sie nicht daran, den Smartparens-Modus überall einzuschalten. (Das wäre albern, denn wenn dies der Fall wäre, gäbe es keine Möglichkeit, Smartparens selektiv zu aktivieren. Abhängig von diesem Modus ist dies entweder überall oder nirgendwo möglich.) Tatsächlich ist der Smartparens-Global-Modus bereits standardmäßig deaktiviert.
Spacemacs aktiviert den Smartparens-Modus in allen Programmierpuffern, indem es im Hook eingeschaltet wird. Dazu muss die Funktion aus dem Prog-Mode-Hook entfernt werden.
Um die Funktion von zu entfernen prog-mode-hook
, fügen Sie die folgende Zeile zu dotspacemacs/user-config
in hinzu .spacemacs
:
(remove-hook 'prog-mode-hook #'smartparens-mode)
Wenn Sie den Smartparens-Modus nicht standardmäßig deaktiviert haben, können Sie auch die folgende Zeile hinzufügen:
(spacemacs/toggle-smartparens-globally-off)
Beachten Sie, dass Sie smartparens
einige andere Funktionen wie SPC j n
( sp-newline
) verlieren , wenn Sie das Paket wie in einer anderen Antwort vorgeschlagen ausschließen .
Hinzufügen von Ein- / Ausstiegshaken für den bösen Einfügemodus:
;; 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)
Wenden Sie im Spacemacs-Hybridmodus auf die Hooks mit dem bösen Hybridstatus an:
;; 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)
Hier ist , wie selektiv aktivieren smartparens nur in bestimmten Modi
(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))