我正在使用美妙的 evil 包进行 emacs 中的 vim 绑定。
一个不正确的键是Ctrl+ U。它仍然是 emacs 前缀,而不是“up”。
有人在我的 .emacs 的一些 lisp 代码中对此有解决方案吗?
谢谢。
有一个变量可以添加到您的.emacs
(setq evil-want-C-u-scroll t)
它需要出现在调用 to 之前(require 'evil)
。
或者,定义自己的键绑定很容易,并且evil
API 足够丰富,可以让它超级简单:
(define-key evil-normal-state-map (kbd "C-u") 'evil-scroll-up)
(define-key evil-visual-state-map (kbd "C-u") 'evil-scroll-up)
(define-key evil-insert-state-map (kbd "C-u")
(lambda ()
(interactive)
(evil-delete (point-at-bol) (point))))
我不得不走这条路,因为evil-want-C-u-scroll
对我来说功能不正常。
为了让bling的答案适用于使用 John Wiegley 的use-package的任何人,请确保在该:init
部分中定义它,如下所示:
(use-package evil
:ensure t
:init
(setq evil-want-C-u-scroll t)
:config
(evil-mode 1)
;; snip...
)
高温高压
VimC-u
是半屏向上翻页。我使用以下方法复制了它,
(define-key evil-normal-state-map (kbd "C-u") 'evil-scroll-up)
从C-h f evil-scroll-up
,
(邪恶向上滚动 COUNT)
向上滚动窗口和光标 COUNT 行。默认为屏幕的一半。
vimC-u
不是“上一行”,它更像是向上翻页。我不知道如何复制确切的行为,但您可以尝试C-b
(evil-scroll-page-up) 或 mapC-k
上C-j
/下 10 行。
(global-set-key (kbd "C-k") (lambda () (interactive) (previous-line 10)))
(global-set-key (kbd "C-j") (lambda () (interactive) (next-line 10)))
密钥对C-u
Emacs 也非常重要,因此您可能无论如何都不应该覆盖它。
为了增加melleb的答案,我还定义了 evil-want-Cu-scroll 时的组合键:
(use-package evil
:ensure t
:init
(setq evil-want-C-u-scroll t)
(when evil-want-C-u-scroll
(define-key evil-insert-state-map (kbd "C-u") 'evil-scroll-up)
(define-key evil-normal-state-map (kbd "C-u") 'evil-scroll-up)
(define-key evil-visual-state-map (kbd "C-u") 'evil-scroll-up)
(define-key evil-motion-state-map (kbd "C-u") 'evil-scroll-up))
:config
(evil-mode 1)
...
)
这适用于 GNU Emacs 24.4.1
首先,回答你的问题:
(define-key evil-insert-state-map "\C-u" 'previous-line)
(define-key evil-normal-state-map "\C-u" 'previous-line)
(define-key evil-replace-state-map "\C-u" 'previous-line)
(define-key evil-visual-state-map "\C-u" 'previous-line)
(define-key evil-motion-state-map "\C-u" 'previous-line)
由于我无法真正测试自己(没有邪恶),如果这些不起作用,请尝试以下方法:
代替
(define-key evil-motion-state-map "\C-u" 'previous-line)
和
(define-key evil-motion-state-map "cu" 'previous-line)
为您想要的任何邪恶模式执行此操作/这是必要的。
此外,也许有一个“邪恶”版本的up
,您可能想要绑定它。
另外,如果我错了,请纠正我,但我很确定邪恶的“船”在这些键绑定的某处带有功能/有用的“向上”,也许在某处阅读它。