5

我想找到第 78 列(该行的第 78 个字符)不是空格的所有行。

理想情况下,我想像普通搜索一样使用它。

4

3 回答 3

10

您可以使用此模式:

\%78c\S
  • \%78c匹配第 78 列的位置(实际上,该列是字节数,因此它对于多字节字符并不完全正确)。用于\%78v匹配虚拟列。
  • \S匹配非空格
于 2012-10-20T05:15:41.157 回答
3

我想您不需要@kev 或您建议的内容:虽然您正确找到了第 78 个字符(字符+变音符号计为一个)并且@kev 正确找到了 78't字节,但看起来您正在解决诸如“超过 78 的文本”之类的问题列边框”。如果我对您的任务的假设是正确的,那么您应该使用

\%78v\S

\%{number}v匹配虚拟(屏幕)列)。如果没有,最好使用您的答案,\%{number}c除了在某些生成的模式中之外,我从来没有看到需要使用。

于 2012-10-20T09:19:16.673 回答
2

我想通了,留下一个例子,以防将来有人尝试这个:

如果我想匹配列“n”,我只需要匹配列“n-1”的任何内容,然后对列 n 执行我的条件。以下表达式查找第 35 列不等于空格的所有行。

^.\{34}[^ ]
于 2012-10-20T04:20:24.083 回答