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

Vim中给定列之前的文本块编辑,vim,scripting,text-editor,vim-plugin,Vim,Scripting,Text Editor,Vim Plugin,我正在编写一个插件,向用户呈现一个表单。所有的工作都很好,但如果我能阻止前两个列的编辑,那将是巨大的成功。基本上,这等于:当列(“.”

我正在编写一个插件,向用户呈现一个表单。所有的工作都很好,但如果我能阻止前两个列的编辑,那将是巨大的成功。基本上,这等于:
列(“.”
时,但我不知道如何连接到插入模式下按下的每个键。我的方向正确吗?如何连接到按键


此外,我还想阻止编辑第一个
7
行中的选定行。

您可以在
光标或移动的
自动命令中使用
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
au CursorMoved*调用CheckCursorPos()
功能!CheckCursorPos()
“此代码需要改进,这只是一个示例:
如果列('.'),消息“E21:Cannotmakechanges,'modifiable'isoff”是否可以以某种方式沉默?