Rea*_*onk 8 emacs elisp evil-mode
我使用邪恶,得到了
(defcustom evil-shift-width 4
"The offset used by \\<evil-normal-state-map>\\[evil-shift-right] \
and \\[evil-shift-left]."
:type 'integer
:group 'evil)
Run Code Online (Sandbox Code Playgroud)
我想将evil-shift-width设置为缓冲区局部缩进宽度(变量indent).
(add-hook 'after-change-major-mode-hook
(function (lambda ()
(setq evil-shift-width indent))))
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
Tre*_*son 17
如果没有更多的信息,我相信我理解的问题是将欲望evil-shift-width设置为4英寸python-mode和2英寸ruby-mode(对于两个示例),但它始终设置为2.
在这种情况下的问题来自于indent未在Emacs中全局定义的事实,当然也没有python-mode.在python-mode有一个变量python-indent,设置为4,这是要使用的变量.
虽然不得不为每种主要模式使用自定义变量,但这是每种模式实际使用的,这可能是实际工作的解决方案:
(add-hook 'python-mode-hook
(function (lambda ()
(setq evil-shift-width python-indent))))
(add-hook 'ruby-mode-hook
(function (lambda ()
(setq evil-shift-width ruby-indent-level))))
Run Code Online (Sandbox Code Playgroud)
为您想要支持的每种主要模式添加一个新模式.
| 归档时间: |
|
| 查看次数: |
2871 次 |
| 最近记录: |