VIM键映射未按预期工作

VIM键映射未按预期工作,vim,Vim,我有以下关键地图: nmap <F9> :s/^/\/\*! /<cr>:s/$/ !\*\//<cr>j 我有类似于取消注释的键映射: nmap <F10> :s/^\/\*! //e<cr>:s/ !\*\/$//e<cr>j 类似的情况是,不要拆下闭合支架 编辑: 实际上,vim keymaps通常不支持lineranges。但有一些变通办法: 设置线条的可视选择,并将映射更改为:nmap:“实际上,vim

我有以下关键地图:

nmap <F9> :s/^/\/\*! /<cr>:s/$/ !\*\//<cr>j
我有类似于取消注释的键映射:

nmap  <F10>   :s/^\/\*! //e<cr>:s/ !\*\/$//e<cr>j
类似的情况是,不要拆下闭合支架

编辑:

实际上,vim keymaps通常不支持lineranges。但有一些变通办法:

设置线条的可视选择,并将映射更改为:nmap:“实际上,vim keymaps通常不支持线条范围。但有一些变通办法:


设置线的可视选择,并将映射更改为:nmap:“Hmmm…”。这与将第一个替换命令转换为范围:,.+n有关,但第二个命令仅作用于最后一行。我不太清楚为什么会发生这种情况,但转换为单一替代解决了问题。所以,在一次通话中崩溃,然后整理一下,这是有效的:

nnoremap:s!*!/*&*/!j


注意使用!而不是/作为模式分隔符。几乎可以将:s与任何字符一起使用。/这只是默认值。如果您的模式使用了大量的/s,那么明智的做法是使用其他模式,并为自己节省一些逃避

嗯……很棘手。这与将第一个替换命令转换为范围:,.+n有关,但第二个命令仅作用于最后一行。我不太清楚为什么会发生这种情况,但转换为单一替代解决了问题。所以,在一次通话中崩溃,然后整理一下,这是有效的:

nnoremap:s!*!/*&*/!j

注意使用!而不是/作为模式分隔符。几乎可以将:s与任何字符一起使用。/这只是默认值。如果您的模式使用了大量的/s,那么明智的做法是使用其他模式,并为自己节省一些逃避

nmap  <F10>   :s/^\/\*! //e<cr>:s/ !\*\/$//e<cr>j