当光标</space>下有特定字符时,更改<space>的行为

时间:2014-12-27 15:15:56

标签: vim

当光标下有特定字符时,我想改变<Space>的行为,即当"在光标下时,我想在它前面添加一个空格(不改变)模式)。

这可能吗(我主要感兴趣的是改变空间的行为并识别光标下的角色 - 我想我会知道怎么去那里)?

1 个答案:

答案 0 :(得分:2)

是的,这可以实现,您可以使用<expr>地图。在那里你检查光标下的字符,如果它是",你在它之前添加一个空格,否则与压缩空间相同。这是一行,您可以:h xxx检查所使用的功能的详细信息,以防您不了解它的作用:

nnoremap <expr> <space> '"'==matchstr(getline('.'), '\%' . col('.') . 'c.')?"i <ESC>":"<space>"