在VIM中给定列之前的块编辑文本



我正在编写一个向用户提供表单的插件。一切都很好,但是要获得全面的成功,如果我可以阻止对前两个呈现的列的编辑,那就太好了。基本上,这等于: <Nop>col(".") < X时,我不知道如何连接到插入模式下按下的每个键。我的方向正确,如何连接到钥匙笔触?

更多,我还想阻止第一个7行的选定行编辑。

您可以在CursorMoved AutoCommand中使用选项modifiable,例如:

au CursorMoved * call CheckCursorPos()
function! CheckCursorPos()
    " This code has to be improved, it's just an example:
    if col('.') <= 2
        set nomodifiable
    else
        set modifiable
    endif
endf

您可以在功能中添加更复杂的测试(例如,处理7条第一行)。

要使它完成,您还必须将CursorMovedI AutoCommand处理到您的口味中,否则版本可能会丢弃编辑模式(例如,如果您在第四列上按i(可修改),请返回开始在线,将有可能)

相关内容

  • 没有找到相关文章

最新更新