Le smartparens-mode
ne convient pas à mon style d'édition. Si j'essaie de le désactiver globalement dans spacemacs, cependant, le mode est réactivé:
(smartparens-global-mode -1)
Comment désactiver le mode smartparens?
Le smartparens-mode
ne convient pas à mon style d'édition. Si j'essaie de le désactiver globalement dans spacemacs, cependant, le mode est réactivé:
(smartparens-global-mode -1)
Comment désactiver le mode smartparens?
Réponses:
Spacemacs utilise le concept de bascule pour activer / désactiver les modes mineurs par tampon. Les bascules sont regroupées sous SPC tet SPC T, mais elles ne changent que pour le tampon actuel. Vous pouvez désactiver temporairement les smartparens pour le tampon actuel en appuyant sur SPC t p( spacemacs/toggle-smartparens
).
Mais si vous voulez désactiver définitivement les smartparens pour chaque tampon, mettez spacemacs/toggle-smartparens-globally-off
votre dotspacemacs/user-config
fonction. Pour ce faire, appuyez sur SPC f e d, cela ouvrira votre .spacemacs
fichier. Assurez-vous ensuite d'avoir quelque chose comme ceci:
(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
)
Depuis https://github.com/syl20bnr/spacemacs/issues/1603#issuecomment-213553034 :
smartparens-global-mode est un mode global. S'il est activé, vous obtenez le mode smartparens dans chaque tampon. La désactiver ne vous empêche pas d'activer le mode smartparens n'importe où. (Ce serait idiot, car si c'était vrai, il n'y aurait aucun moyen d'activer sélectivement les smartparens. Ce serait soit partout, soit nulle part, selon ce mode.) En fait, smartparens-global-mode est déjà désactivé par défaut.
Spacemacs active le mode smartparens dans tous les tampons de programmation en l'activant dans le hook. Par conséquent, vous devez supprimer la fonction de prog-mode-hook.
Pour supprimer la fonction de prog-mode-hook
, ajoutez la ligne suivante à dotspacemacs/user-config
dans .spacemacs
:
(remove-hook 'prog-mode-hook #'smartparens-mode)
Si le mode smartparens n'est pas désactivé par défaut, vous pouvez également ajouter la ligne suivante:
(spacemacs/toggle-smartparens-globally-off)
Notez que si vous excluez le smartparens
package comme suggéré dans une autre réponse, vous perdrez d'autres fonctionnalités telles que SPC j n
( sp-newline
).
Ajoutez des crochets d'entrée / sortie pour le mode d'insertion maléfique:
;; 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)
En mode hybride spacemacs, appliquez aux hooks mal-hybrides:
;; 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)
Voici comment activer sélectivement les smartparens uniquement dans des modes spécifiques
(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))