Nonaktifkan smartparens di ruang angkasa

12

Tidak smartparens-modesesuai dengan gaya pengeditan saya. Namun, jika saya mencoba untuk menonaktifkannya secara global dalam spacemacs, mode ini diaktifkan kembali:

(smartparens-global-mode -1)

Bagaimana cara menonaktifkan mode smartparens?

Jeff Bauer
sumber

Jawaban:

15

Anda dapat menambahkan smartparenske dotspacemacs-excluded-packagesdaftar dotfile Anda.

syl20bnr
sumber
6

Spacemacs menggunakan konsep matikan untuk mengaktifkan / menonaktifkan mode minor per buffer. Matikan dikelompokkan di bawah SPC tdan SPC T, tetapi mereka hanya beralih untuk buffer saat ini. Anda dapat menonaktifkan smartparens untuk buffer saat ini dengan menekan SPC t p( spacemacs/toggle-smartparens).

Tetapi jika Anda ingin menonaktifkan smartparens untuk setiap buffer secara permanen, masukkan fungsi spacemacs/toggle-smartparens-globally-offAnda dotspacemacs/user-config. Untuk melakukannya, tekan SPC f e d, ini akan membuka .spacemacsfile Anda . Kemudian pastikan Anda memiliki sesuatu seperti ini:

(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
sumber
2

Dari https://github.com/syl20bnr/spacemacs/issues/1603#issuecomment-213553034 :

smartparens-global-mode adalah mode global. Jika diaktifkan, Anda mendapatkan mode-smartparens di setiap buffer. Mematikannya tidak mencegah Anda untuk mengaktifkan mode smartparens di mana saja. (Itu akan konyol, karena jika itu benar tidak akan ada cara untuk mengaktifkan smartparens secara selektif. Ini akan berada di mana-mana atau di mana pun, tergantung pada mode itu.) Sebenarnya smartparens-global-mode sudah mati secara default.

Spacemacs memungkinkan mode-smartparens di semua buffer pemrograman dengan mengaktifkannya di hook. Karena itu Anda harus menghapus fungsi dari prog-mode-hook.

Untuk menghapus fungsi dari prog-mode-hook, tambahkan baris berikut ke dotspacemacs/user-configdalam .spacemacs:

(remove-hook 'prog-mode-hook #'smartparens-mode)

Jika Anda tidak menonaktifkan mode smartparens, Anda juga dapat menambahkan baris berikut:

(spacemacs/toggle-smartparens-globally-off)

Perhatikan bahwa jika Anda mengecualikan smartparenspaket seperti yang disarankan dalam jawaban lain, Anda akan kehilangan beberapa fitur lain seperti SPC j n( sp-newline).

Jaakko Luttinen
sumber
1

Tambahkan kait masuk / keluar untuk mode sisipan jahat:

;; 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)

Dalam mode hybrid spacemacs, terapkan ke hook-evil-hybrid-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)
Jeff Bauer
sumber
1

Berikut ini cara mengaktifkan smartparens secara selektif hanya dalam mode tertentu

(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
sumber