[英]Is there a way to use getchar() in vim without a need to press enter after every input key?
我正在编写一个 vim 插件并使用getchar()
获取输入键,但是它需要我基本上双击我想输入的每个键。 我的最终目标是像键盘记录器一样获取键盘输入,但仅限于 vim,这样我就可以分析数据了。
遗憾的是无法从https://vim.fandom.com/wiki/Wait_for_user_input_(getchar)_without_moving_cursor工作中提出建议。
这是我的插件中的一段代码:
function! s:getchar()
let chr = getchar()
if chr =~ '^\d\+$'
let chr = nr2char(chr)
endif
python3 sample.gather()
endfunction
au CursorMoved * call s:getchar()
到目前为止,我只使用 python 将时间戳记放在按下的键旁边。
我对这个主题做了很多研究,但无法找到有关如何正确使用 vim 中的getchar()
的解决方案。
“我的最终目标是像键盘记录器一样获取键盘输入,但仅限于 vim,这样我就可以分析数据了。”
Vim 有一个选项, -w {scriptout}
用于将按键记录到文件{scriptout}
。
为了将原始数据转换为人类可读的表示形式,在我实现的Python vimgolf 客户端中有一个示例。
在 Ruby 中实现的官方 vimgolf 客户端也使用 Vim 的-w
选项来记录按键。
我知道这并没有回答有关getchar()
的具体问题,但我认为考虑到既定的最终目标,这可能是一种解决方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.