我正在尝试为ctrlp创建一个插件,我需要一些帮助。首先,我想将输入字段放在屏幕顶部,这样
input()
的功能,但可以将输入字段放在顶部?友好的说,我已经开始实现自己的输入字段,编辑文本时出现问题。我发现backspace
选项对于防止删除提示文本非常有用("文件>")。我只是把这个文本放到缓冲区然后开始插入模式。遗憾的是我不能使用这个选项,因为我有复杂的逻辑来控制缓冲区,我总是需要退出插入模式来调用函数。而不是backspace
我需要将<BS>
重新映射到类似<C-o>:call backspace()<CR>
function backspace()
" checks if deletion is possible
x
endfunction
这有效,但有一个闪烁的光标让我感到不安。插入模式使缓冲区被修改,tabline
中有一个标记*。它可以隐藏call setbufvar(bufnr('%'), '&mod', 0)
,但它的工作速度很慢,符号会不时出现。我为此使用TextChangedI
事件。
最重要的问题是如何在插入模式下获得更多自由?有没有办法在不离开这种模式的情况下调用函数?
答案 0 :(得分:1)
是否有类似于input()
的函数但可以将输入字段放在顶部?
没有。命令行在底部,你无能为力。
是否有禁用监视缓冲区更改的选项?
是。请参阅:help 'modified'
的最后一段。