繁体   English   中英

有没有办法在 vim 中使用 getchar() 而无需在每个输入键后按回车键?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM