gpt4 book ai didi

editor - 如何为 vim 创建 "new mode"(即循环并获取用户输入,然后执行相关操作)

转载 作者:行者123 更新时间:2023-12-01 21:35:16 27 4
gpt4 key购买 nike

我正在尝试在 vim 中创建一些“新模式”。该模式的细节并不重要,但我需要做一件事。

我需要执行类似以下伪代码的操作:

get user input (movement keys like "j" or complex keys like "dd")
while user_input != <esc>
execute the user input
endwhile

换句话说,我需要一个循环来读取用户正在执行的操作,然后执行相关操作。

我已经得到了以下代码:

let char = nr2char(getchar())
while char =~ '^\w$'
execute "normal ". char
let char = nr2char(getchar())
endwhile

这对于用户移动(jk 等)效果很好,但对于更复杂的多字符命令(例如 dd)则失败.

此外,这是一个小烦恼,但是光标在 getchar() 期间消失,这意味着您实际上看不到光标(由于我正在尝试做的事情,这不太重要,但希望有一个解决方案以及)。

有人知道如何让多角色 Action 发挥作用吗?

最佳答案

我想您可能对 submode.vim 感兴趣,如果不使用它,至少看看他们是如何实现这个功能的。

关于editor - 如何为 vim 创建 "new mode"(即循环并获取用户输入,然后执行相关操作),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5089104/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com