分页: 1 / 1

vim的搜索是否能像这样呢?

发表于 : 2011-05-24 15:12
redhatlinux10
请看下ultraedit的截图
截图05.jpg
不论是vim自带功能,抑或是插件,都行的。

Re: vim的搜索是否能像这样呢?

发表于 : 2011-05-24 15:26
eexpress

代码: 全选

● cat .vim/plugin/Search_Word.vim 
" au! QuickFixCmdPre *.[ch] call Search_Word()
func Search_Word()
  let w = expand("<cword>")		" 在当前光标位置抓词
  let p = expand("%:p:h")		" 取得当前文件的路径
  exe "cd " p
  exe "vimgrep " w "*.c *.h *.vim"
  exe 'copen'
endfun

Re: vim的搜索是否能像这样呢?

发表于 : 2011-05-24 15:56
lilydjwg
grep.vim

LustyExplorer 提供了即时显示匹配行的功能,不过最多只有一屏,而且不是显示在 buffer 里。

Re: vim的搜索是否能像这样呢?

发表于 : 2011-05-24 17:45
redhatlinux10
eexpress 写了:

代码: 全选

● cat .vim/plugin/Search_Word.vim 
" au! QuickFixCmdPre *.[ch] call Search_Word()
func Search_Word()
  let w = expand("<cword>")		" 在当前光标位置抓词
  let p = expand("%:p:h")		" 取得当前文件的路径
  exe "cd " p
  exe "vimgrep " w "*.c *.h *.vim"
  exe 'copen'
endfun
我用了下这个search_word脚本,发现了3个问题。
1,按CTRL-F(我映射到是这个快捷键)后,quickfix列表并没有自动打开,需要我手动输入copen命令打开。
2,每次CTRL-F之后,需要两次回车。
3,quickfix列表没有高亮搜索关键字。
还烦请帮忙解决下。
searchword.gif

Re: vim的搜索是否能像这样呢?

发表于 : 2011-05-24 17:59
lilydjwg
redhatlinux10 写了: 我用了下这个search_word脚本,发现了3个问题。
1,按CTRL-F(我映射到是这个快捷键)后,quickfix列表并没有自动打开,需要我手动输入copen命令打开。
2,每次CTRL-F之后,需要两次回车。
3,quickfix列表没有高亮搜索关键字。
还烦请帮忙解决下。
你用 grep.vim 吧,现成的东西,搜索速度还更快。

Re: vim的搜索是否能像这样呢?

发表于 : 2011-05-24 19:09
redhatlinux10
lilydjwg 写了:
redhatlinux10 写了: 我用了下这个search_word脚本,发现了3个问题。
1,按CTRL-F(我映射到是这个快捷键)后,quickfix列表并没有自动打开,需要我手动输入copen命令打开。
2,每次CTRL-F之后,需要两次回车。
3,quickfix列表没有高亮搜索关键字。
还烦请帮忙解决下。
你用 grep.vim 吧,现成的东西,搜索速度还更快。
我用了下grep.vim,结果报错了。
我的vim配置:

代码: 全选

let Grep_Shell_Quote_Char = '"'

let Grep_Path ='D:\exttools\grep.exe'
let Fgrep_Path ='d:\exttools\fgrep.exe'
let Egrep_Path ='d:\exttools\egrep.exe'
"let Agrep_Path = 'd:\tools\agrep.exe'
let Grep_Find_Path ='d:\exttools\find.exe'
let Grep_Xargs_Path ='d:\exttools\xargs.exe'
截图06.jpg

Re: vim的搜索是否能像这样呢?

发表于 : 2011-05-24 22:30
lilydjwg
redhatlinux10 写了: 我用了下grep.vim,结果报错了。
可怜的 Windows 用户。。。*nix 用户通常就不用关心这种配置。

是不是路径不对,你确定下你的 grep.exe 是否确实位于你设置的地方,并确定下你的配置确实被 Vim 执行了(:echo Grep_Path)。

Re: vim的搜索是否能像这样呢?

发表于 : 2011-05-25 8:36
redhatlinux10
lilydjwg 写了:
redhatlinux10 写了: 我用了下grep.vim,结果报错了。
可怜的 Windows 用户。。。*nix 用户通常就不用关心这种配置。

是不是路径不对,你确定下你的 grep.exe 是否确实位于你设置的地方,并确定下你的配置确实被 Vim 执行了(:echo Grep_Path)。
问题解决了。grep.exe文件路径没错,最开始,let Grep_Path ='d:\exttools\grep.exe'语句我是放在一个单独的vim_misc.vim文件中,然后在_vimrc中source。不知何故,这样竟然不行。我let语句单独提取出来放在_vimrc中就可以了。