使用邪恶键绑定时,在emacs中按Ctrl + U.

jus*_*don 37 emacs elisp evil-mode

我正在使用emacs中的vim绑定的精彩邪恶包.

一个不对的键是Ctrl+ U.它仍然是emacs前缀,而不是"up".

有人在我的.emacs的某些lisp代码中有解决方案吗?

谢谢.

bli*_*ing 39

你可以添加一个变量 .emacs

(setq evil-want-C-u-scroll t)
Run Code Online (Sandbox Code Playgroud)

它需要在调用之前出现(require 'evil).

  • Cu取代了什么?或者不是真的需要与邪恶的args?一些emacs命令与arg的行为略有不同. (2认同)
  • 这是在 (require 'evil) 之前的关键!在加载包管理器之前,我把它放在我的 emacs 文件的顶部。 (2认同)
  • 如果我正在使用emacs客户端(即使服务器已重启),这似乎也不起作用(gnu-emacs 24.3.1),https://gist.github.com/vrthra/9999335 (2认同)

Kev*_*hey 13

或者,很容易定义自己的键绑定,evilAPI足够丰富,使其变得非常简单:

(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))))
Run Code Online (Sandbox Code Playgroud)

我不得不走这条路,evil-want-C-u-scroll因为我的运作不正常.


Shr*_*rat 6

Vim C-u是半屏页面.我使用以下方法复制它,

(define-key evil-normal-state-map (kbd "C-u") 'evil-scroll-up)
Run Code Online (Sandbox Code Playgroud)

来自C-h f evil-scroll-up,

(邪恶向上滚动COUNT)

滚动窗口,光标向上COUNT行.默认值是屏幕的一半.


Mel*_*lle 5

为了使bling的答案适用于使用John Wiegley的use-package的任何人,请确保您在该:init部分中对其进行了定义,如下所示:

(use-package evil
 :ensure t
 :init
 (setq evil-want-C-u-scroll t)
 :config
 (evil-mode 1)
 ;; snip...
)
Run Code Online (Sandbox Code Playgroud)

高温超导