有没有一种方法可以在vim中使用getchar(),而无需在每次输入键后按enter键



我正在编写一个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()的具体问题,但考虑到所述的最终目标,我认为这可能是一个变通方法。

相关内容

  • 没有找到相关文章

最新更新