我正在尝试在vim中创建一种“新模式”。模式的细节并不重要,但是我需要做一件事。
我需要执行以下伪代码:
get user input (movement keys like "j" or complex keys like "dd")
while user_input != <esc>
execute the user input
endwhile
Run Code Online (Sandbox Code Playgroud)
换句话说,我需要一个循环,该循环将读取用户的操作,然后执行相关的操作。
我已经有以下代码:
let char = nr2char(getchar())
while char =~ '^\w$'
execute "normal ". char
let char = nr2char(getchar())
endwhile
Run Code Online (Sandbox Code Playgroud)
这对于用户移动(j,k等)工作正常,但对于更复杂的多字符命令(如)无效dd。
另外,这是一个小麻烦,但是光标在getchar()期间消失了,这意味着您实际上看不到光标(由于我想做的事情,它的重要性不那么重要,但希望也能找到解决方案) 。
有谁知道我如何使多字符动作起作用?
| 归档时间: |
|
| 查看次数: |
1617 次 |
| 最近记录: |