[英]mapping variables in vim with regex
这可能在vim
{some_variable_name} =
{some_variable_name}=
映射到{some_variable_name} =
吗? 其中{some_variable_name}
是[A-Za-z0-9]
?
从其他一些暗示,我正在尝试:
:inoremap ?P<name>([A-Za-z0-9-_])= ${name} =
进行编辑,这样,如果我键入“ a =“,它将被转换为“ a =”,而如果键入“ blah =”,则将被转换为“ blah =”
这是行不通的。
请帮助。
编辑 :可能是解决问题的一种更简便的方法:动态地将“ =“替换为” =“,后跟[A-z0-9]。
我正在尝试,但尚未成功。 请帮助
这种插入模式的映射做什么,我想你想,但你的问题是一个真正的混乱所以...:
:inoremap <expr> = getline(".")[col(".") - 2] !~# "[a-zA-Z]" ? "= " : " = "
但打字<Space>=
是一个更好的解决方案IMO。
编辑:
由于Vim在插入模式下处理光标位置的方式有些“怪异”,因此getline(".")[col(".") - 2] !~# "[a-zA-Z]"
不直观地比较了字符正则表达式[a-zA-Z]
在光标之前。 将getline(".")[col(".") - 1]
用于光标之后的字符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.