Vim功能似乎未被识别
我将其复制到.vimrc中: 它似乎不起作用。当我使用c时,我得到以下信息: E117:未知函数:g:ClearAllButMatches 你知道为什么会这样吗 注: 我已经多次获取了我的.vimrc。Vim功能似乎未被识别,vim,command-line,Vim,Command Line,我将其复制到.vimrc中: 它似乎不起作用。当我使用c时,我得到以下信息: E117:未知函数:g:ClearAllButMatches 你知道为什么会这样吗 注: 我已经多次获取了我的.vimrc。 从映射中删除g:或将其添加到函数名从映射中删除g:或将其添加到函数名您尝试了什么?我刚从你的地图上删除了g:,一切都很好。尽管您可能希望在替换命令的末尾放置一个e标志。您可能会考虑一个不同的范围,即整个缓冲区。看起来函数和映射是在同一个文件中定义的。要检查这一点,请尝试:verbose map
从映射中删除g:或将其添加到函数名从映射中删除g:或将其添加到函数名您尝试了什么?我刚从你的地图上删除了g:,一切都很好。尽管您可能希望在替换命令的末尾放置一个e标志。您可能会考虑一个不同的范围,即整个缓冲区。看起来函数和映射是在同一个文件中定义的。要检查这一点,请尝试:verbose map c和:verbose函数ClearAllButMatches,并仔细阅读行中的最后一组。您尝试了什么?我刚从你的地图上删除了g:,一切都很好。尽管您可能希望在替换命令的末尾放置一个e标志。您可能会考虑一个不同的范围,即整个缓冲区。看起来函数和映射是在同一个文件中定义的。要检查这一点,请尝试:verbose map c和:verbose函数ClearAllButMatches,并仔细阅读第行的最后一组。可能重复的可能重复的
function! ClearAllButMatches()
let old = @c
let @c=""
%s//\=setreg('C', submatch(0), 'l')/g
%d _
put c
0d _
let @c = old
endfunction
vnoremap <leader>c :<c-u>call g:ClearAllButMatches()<cr>