evil-yank-line 是怎样工作的?

我看了一下 evil-yank-line 的函数文档,发现调用它时需要有多个参数:

evil-yank-line is an interactive compiled Lisp function in ‘evil-commands.el’.

It is bound to Y.

(evil-yank-line BEG END &optional TYPE REGISTER)

Saves whole lines into the kill-ring.

evil-yank-line 直接绑定在 Y 上,请问按下 Y 时参数 BEGEND 是怎样传递给 evil-yank-line 的呢?

比较好奇怎么做到的。

好像是 evil-define-operator 这个黑魔法。大家怎样在 elisp 里调用 evil-yank-line 这类函数的呢?直接 call-interactively

另一个问题,怎样将 evil-normal-state 下的按键,比如说 Y 绑定到其它函数上呢?

发现一个好康:

beg end 不是region传来的吗?call-interactively没毛病

1 个赞

楼上正解,用 interactive 得到的 region 传的参数。

1 个赞