艺术家模式邪恶整合

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次插入。

以上是关于艺术家模式邪恶整合的主要内容,如果未能解决你的问题,请参考以下文章

世界上最伟大最邪恶的软件发明

世界上最伟大最邪恶的软件发明,已有超10亿台电脑安装

世界上最伟大最邪恶的软件发明,已有超10亿台电脑安装

返回C ++引用变量的做法是邪恶的吗?

您可以在emacs的邪恶模式下使用vim脚本和插件吗?邪恶模式的局限性是什么?

githubgirl将 AI 艺术创作类的开源项目整合到了一起,包括图像风格迁移图像卡通话