Questo smartparens-mode
non si adatta al mio stile di editing. Se provo a disabilitarlo globalmente in spacemacs, tuttavia, la modalità viene riattivata:
(smartparens-global-mode -1)
Come disabilitare la modalità smartparens?
Questo smartparens-mode
non si adatta al mio stile di editing. Se provo a disabilitarlo globalmente in spacemacs, tuttavia, la modalità viene riattivata:
(smartparens-global-mode -1)
Come disabilitare la modalità smartparens?
Risposte:
Spacemacs usa il concetto di toggle per abilitare / disabilitare le modalità secondarie per buffer. I selettori sono raggruppati in SPC te SPC T, ma cambiano solo per il buffer corrente. È possibile disabilitare temporaneamente gli smartparens per il buffer corrente premendo SPC t p( spacemacs/toggle-smartparens
).
Ma se si desidera disabilitare in modo permanente gli smartparens per ogni buffer, inserire spacemacs/toggle-smartparens-globally-off
la dotspacemacs/user-config
funzione. Per farlo, premi SPC f e d, questo aprirà il tuo .spacemacs
file. Quindi assicurati di avere qualcosa del genere:
(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
)
Da https://github.com/syl20bnr/spacemacs/issues/1603#issuecomment-213553034 :
smartparens-global-mode è una modalità globale. Se è abilitato, si ottiene la modalità smartparens in ogni buffer. La disattivazione non ti impedisce di attivare la modalità smartparens da nessuna parte. (Sarebbe sciocco, perché se fosse vero non ci sarebbe modo di abilitare selettivamente gli smartparen. Sarebbe o ovunque o in nessun luogo, a seconda di quella modalità.) In effetti smartparens-global-mode è già disattivata di default.
Spacemacs abilita la modalità smartparens in tutti i buffer di programmazione attivandolo al gancio. Pertanto è necessario rimuovere la funzione da prog-mode-hook.
Per rimuovere la funzione da prog-mode-hook
, aggiungere la seguente riga in dotspacemacs/user-config
in .spacemacs
:
(remove-hook 'prog-mode-hook #'smartparens-mode)
Se la modalità smartparens non è disabilitata per impostazione predefinita, puoi anche aggiungere la seguente riga:
(spacemacs/toggle-smartparens-globally-off)
Si noti che se si esclude il smartparens
pacchetto come suggerito in un'altra risposta, si perderanno alcune altre funzionalità come SPC j n
( sp-newline
).
Aggiungi hook di entrata / uscita per la modalità di inserimento male:
;; 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)
In modalità ibrida di spacemacs, applica agli hook male-ibridi-state:
;; 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)
Ecco come abilitare selettivamente gli smartparen solo in modalità specifiche
(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))