O smartparens-mode
não se adequa ao meu estilo de edição. Se eu tentar desativá-lo globalmente no spacemacs, no entanto, o modo será reativado:
(smartparens-global-mode -1)
Como desativo o modo smartparens?
O smartparens-mode
não se adequa ao meu estilo de edição. Se eu tentar desativá-lo globalmente no spacemacs, no entanto, o modo será reativado:
(smartparens-global-mode -1)
Como desativo o modo smartparens?
Respostas:
Spacemacs usa o conceito de alterna para activar / desactivar menores-modos por tampão. Os alternadores estão agrupados em SPC te SPC T, mas alternam apenas para o buffer atual. Você pode desativar temporariamente o smartparens para o buffer atual pressionando SPC t p( spacemacs/toggle-smartparens
).
Mas se você deseja desativar permanentemente os smartparens para cada buffer, coloque spacemacs/toggle-smartparens-globally-off
sua dotspacemacs/user-config
função. Para fazer isso, pressione SPC f e d, isso abrirá seu .spacemacs
arquivo. Então verifique se você tem algo parecido com isto:
(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
)
Em https://github.com/syl20bnr/spacemacs/issues/1603#issuecomment-213553034 :
smartparens-global-mode é um modo global. Se estiver ativado, você obtém o modo smartparens em cada buffer. Desligá-lo não impede que você ative o modo smartparens em qualquer lugar. (Isso seria bobagem, porque, se isso fosse verdade, não haveria maneira de ativar seletivamente os smartparens. Ele estaria em qualquer lugar ou lugar nenhum, dependendo desse modo.) De fato, o smartparens-global-mode já está desativado por padrão.
O Spacemacs habilita o modo smartparens em todos os buffers de programação, ativando-o no gancho. Portanto, você deve remover a função do gancho no modo prog.
Para remover a função de prog-mode-hook
, adicione a seguinte linha dotspacemacs/user-config
em .spacemacs
:
(remove-hook 'prog-mode-hook #'smartparens-mode)
Se você não tiver o modo smartparens desativado por padrão, também poderá adicionar a seguinte linha:
(spacemacs/toggle-smartparens-globally-off)
Observe que, se você excluir o smartparens
pacote conforme sugerido em outra resposta, perderá outros recursos, como SPC j n
( sp-newline
).
Adicione ganchos de entrada / saída para o modo de inserção incorreta:
;; 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)
No modo híbrido spacemacs, aplique aos ganchos do estado híbrido maligno:
;; 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)
Veja como ativar seletivamente smartparens apenas em modos específicos
(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))