在Windows VIM上,外部grep命令不支持重音字符

时间:2019-08-24 19:57:25

标签: windows vim command-line

在Windows上的VIM中,当使用UTF-8编码文件时,搜索带有重音符号的单词不会找到该单词。

我使用UTF-8编码的文件,并在文件中写入“éçà”。我保存文件,然后在该字符串上启动外部grep。找不到文件。

在VIM中,首先打开quickfix窗口以显示匹配项:

:copen

将光标放在éçà(已保存文件)上,运行

:grep "<cWORD>" *

应该找不到匹配项

但是,使用vimgrep(内部grep)可以找到该文件(但是此内部命令非常缓慢)。

运行

:vimgrep "<cWORD>" *

找到比赛。

这必须与将字符转换为命令行有关,但是即使在VIM中使用iconv命令也无法弄清楚。

有没有一种方法可以正确配置VIM,以便它可以正确处理带有重音符号的grep文件(而不会通过内部grep太慢)? 我已经在网上搜索了所有内容,但没有明确的结论。

1 个答案:

答案 0 :(得分:0)

我最终用宏在临时文件中写了带重音符号的搜索模式,然后使用该临时文件启动grep。

但是,我发现了另一个使用“ ag”而不是grep的解决方案,但是它带有支持重音符号的发行版,可以在基于Windows的gvim上正常工作。

https://github.com/JFLarvoire/the_silver_searcher/releases