我正在尝试定义一个命令,它可以接受一个范围并将其传递给一个函数。这就是我认为我应该拥有的:
function! PrintGivenRange() range
echo "firstline ".a:firstline." lastline ".a:lastline
" Do some more things
endfunction
command! -range PassRange call PrintGivenRange()
然而,它不是这样工作的,它似乎只通过了第一行。
例如:
:1,5PassRange "outputs
在可视化选择和运行正则表达式替换时,我遇到了问题。当我选择一些不包含整行的文本时,点击:打开命令行,然后执行以下操作
:s/T/t/
然后,行上的第一个匹配项(无论是否选中)将被更改。所以,例如,我有一个文本
Test Text here
然后直观地选择单词Text,然后运行上面的替换,最后以
test Text here
这不是我想要的。
有什么想法如何取得正确的结果?
编辑:实际命令行是
'<,'>s/T/t/
在您按下:时,Vim默认为:使用可视选择。