艺术家模式邪恶整合
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了艺术家模式邪恶整合相关的知识,希望对你有一定的参考价值。
我试图通过在picture-mode
中使用j,h,k,l
键向左,向下,向上和向右移动来绘制emacs evil-normal-mode
中的ascii艺术。
为此,我使用了这些绑定:
(nmap :keymaps 'picture-mode-map
"k" (lambda ()
(picture-movement-up)
(picture-self-insert (string-to-char ".")))
"j" (lambda ()
(picture-movement-down)
(picture-self-insert (string-to-char ".")))
"h" (lambda ()
(picture-movement-left)
(picture-self-insert (string-to-char ".")))
"l" (lambda ()
(picture-movement-right)
(picture-self-insert (string-to-char "."))))
我期望的是单个插入.
以及用相应的picture-movement
函数改变运动。
但是,当我尝试这些绑定时,插入的文本方向是正确的,但一次插入了46个字符。这个角色是我按下的关键,而不是时期。
例如,当我按下l
时,我会立即得到llllllllllllllllllllllllllllllllllllllllllllll
,而不是只是逐渐连续的时期,因为我继续按下l
。
为什么我会遇到这种行为?我怎样才能达到预期的行为?
ASCII字符.
具有整数值46.picture-self-insert
函数将其参数作为计数以及last-command-event
变量的值传递给picture-insert
函数。对于你的情况,这导致46次插入last-command-event
的值,这恰好是你按下的任何键。
在你的lambda
函数中,将(picture-self-insert (string-to-char "."))
替换为:
(picture-insert ?. 1)
这将执行.
字符的1次插入。
以上是关于艺术家模式邪恶整合的主要内容,如果未能解决你的问题,请参考以下文章