我想在vim中自定义一个宏,包括一个搜索一组单词的函数 有可能吗?
即
The input values can't be empty. (1)
^
The input value is five.(2)
^
The input values is unknown.(3)
^
光标在(1)中。我想搜索"输入值"。
错误搜索:"输入值"在(2)。
预期:光标指向"输入值"在(3)。
答案 0 :(得分:3)
所以,如果我理解你的话,你需要类似*
/ #
命令的内容,但不是当前的单词,而是更多/不同的文字?!
多个插件将*
/ #
命令扩展为可视模式。使用它们,您可以选择两个单词(input values
),然后通过v2e*
)搜索它们。一个这样的插件是我的SearchHighlighting plugin,它还提供了其他功能。 (插件页面包含指向其他插件的链接。)visualstar.vim plugin仅提供该功能。
答案 1 :(得分:1)
nnoremap \g v2e:call VisualSearch()<CR>
function! VisualSearch() range
let l:saved_reg = @"
execute "normal! vgvy"
let l:pattern = escape(@", '\\/.*$^~[]')
let l:pattern = substitute(l:pattern, "\n$", "", "")
execute "normal /" . l:pattern . "^M"
endfunction
v2e
会在视觉模式中选择两个单词(只有光标位于第一个单词的开头);
然后:call VisualSearch()<CR>
,调用函数VisualSearch
;
VisualSearch
将搜索您在视觉模式中选择的字词
它对我有用。