Vimscript光标下的读取行

时间:2018-12-15 11:45:30

标签: vim

我使用vim 8.1s的终端功能为vim创建了一个编译器窗口。
它显示了发生任何情况时编译器的输出。
但是现在,我只想在终端窗口内的错误行上按Enter键,然后立即在主代码窗口内打开该文件,就像大多数编辑器一样。
为此,我需要能够读取光标下的当前行,以检查它是否是格式正确的错误以及是否会立即转到该文件。
那么如何在终端输出窗口内的光标下读取当前行?

1 个答案:

答案 0 :(得分:0)

终端是一项新功能,但Vim几乎从一开始就具有编译(:help :make)和错误解析功能(:help quickfix)。 Vim可以理解许多常见:compiler的输出,您也可以定义自己的:help write-compiler-plugin

因此,如果您的编译器具有正常的可解析输出,那么这是推荐的方法。

与终端合作

另一方面,如果您有充分的理由坚持原来的计划,那也是可能的。最后的终端缓冲区的工作方式类似于Vim中的其他(文本)缓冲区。使用映射时,首先需要跳出终端模式(cp。:help Terminal-mode)。然后,Vimscript可以照常提取文本:

  • 使用:let line = getline('.')
  • 获取当前行
  • 使用:let word = expand('<cword>')在光标下抓取工作