在VIM中映射下划线字符

时间:2017-04-30 21:24:08

标签: vim

我一直在尝试在VIM中创建一个映射,以便在编辑器中“移动”一行。所以我尝试将这两个添加到我的.vimrc:

map _ ddP

没用。

map <underscore> ddP

也没用。 _有特殊意义吗?为什么这不按我想要的方式工作?

2 个答案:

答案 0 :(得分:2)

请自行尝试x = 'email' custom_switch(x, { 'pk': lambda: User.object.get(pk=x), 'email': lambda: User.object.get(email=x) }, lambda: print('error!')) ,不要使用任何映射:它应该取消 ...因为它会将删除的行完全放在同一个地方。

你忘了ddP去一行吗?试试这个:

k

注意:始终使用:noremap _ ddkP 而不是:noremap(特别是在脚本中,请参阅帮助)。

或者...

或许你的下划线键是较长映射的开始,然后Vim等待它的结束。要进行检查,只需运行:map即可查看哪些映射以:map _开头。

最后一件事:_不是Vim中的有效密钥;有关详细信息,请参阅<underscore>

答案 1 :(得分:2)

下划线不具有特殊含义,您只需将其映射为将线条粘贴到之前所在的位置。试试这个:

:h key-notation

或者,更好的是,使用non-recursive版本的映射:

map _ ddkP