我正在编写一个向用户提供表单的插件。一切都很好,但是要获得全面的成功,如果我可以阻止对前两个呈现的列的编辑,那就太好了。基本上,这等于: <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
(可修改),请返回开始在线,将有可能)