Các smartparens-mode
không phù hợp với phong cách của tôi chỉnh sửa. Tuy nhiên, nếu tôi cố gắng vô hiệu hóa nó trên toàn cầu trong spacemacs, chế độ được bật lại:
(smartparens-global-mode -1)
Làm cách nào để tắt chế độ smartparens?
Các smartparens-mode
không phù hợp với phong cách của tôi chỉnh sửa. Tuy nhiên, nếu tôi cố gắng vô hiệu hóa nó trên toàn cầu trong spacemacs, chế độ được bật lại:
(smartparens-global-mode -1)
Làm cách nào để tắt chế độ smartparens?
Câu trả lời:
Spacemacs sử dụng khái niệm toggles để bật / tắt các chế độ nhỏ trên mỗi bộ đệm. Kính râm được nhóm dưới SPC tvà SPC T, nhưng chúng chỉ chuyển đổi cho bộ đệm hiện tại. Bạn có thể tạm thời vô hiệu hóa smartparens cho bộ đệm hiện tại bằng cách nhấn SPC t p( spacemacs/toggle-smartparens
).
Nhưng nếu bạn muốn vô hiệu hóa smartparens cho mọi bộ đệm vĩnh viễn, hãy đặt chức năng spacemacs/toggle-smartparens-globally-off
của bạn dotspacemacs/user-config
. Để làm điều đó, nhấn SPC f e d, điều này sẽ mở .spacemacs
tập tin của bạn . Sau đó, hãy chắc chắn rằng bạn có một cái gì đó như thế này:
(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
)
Từ https://github.com/syl20bnr/spacemacs/issues/1603#issuecomment-213553034 :
smartparens-global-mode là chế độ toàn cầu. Nếu nó được kích hoạt, bạn sẽ có chế độ smartparens trong mọi bộ đệm. Tắt nó không ngăn bạn bật chế độ smartparens ở bất cứ đâu. .
Spacemacs cho phép chế độ smartparens trong tất cả các bộ đệm lập trình bằng cách bật nó trong hook. Do đó, bạn phải loại bỏ chức năng khỏi prog-mode-hook.
Để xóa chức năng khỏi prog-mode-hook
, hãy thêm dòng sau dotspacemacs/user-config
vào .spacemacs
:
(remove-hook 'prog-mode-hook #'smartparens-mode)
Nếu bạn không tắt chế độ smartparens theo mặc định, bạn cũng có thể thêm dòng sau:
(spacemacs/toggle-smartparens-globally-off)
Lưu ý rằng nếu bạn loại trừ smartparens
gói như được đề xuất trong câu trả lời khác, bạn sẽ mất một số tính năng khác, chẳng hạn như SPC j n
( sp-newline
).
Thêm móc vào / thoát cho chế độ chèn ác:
;; 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)
Trong chế độ lai spacemacs, áp dụng cho các móc trạng thái lai-ác:
;; 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)
Dưới đây là cách chỉ chọn kích hoạt smartparens trong các chế độ cụ thể
(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))