我想查看变量的值,所以我运行命令

:let


Vim使用--more--传呼机显示此命令的结果。
如何我在此搜索短语,例如html吗?
我看过手册页上的更多寻呼机,上面写着+/用于搜索,但似乎不起作用,按照较少的寻呼机,/也没有。

评论

AFAIK,它是Vim的内部命令-看起来像“更多”,但Vim不会调用该程序(证明:它也适用于Windows)。您仍然可以写一个变量名的开头,而不是要求Vim完成它(例如,使用Ctrl-d)。

谢谢,当我键入变量名时-实际上几乎是任何东西-vim不会接受它-它只会提示-更多-空格/ d / j:屏幕/页面/行向下,b / u / k:向上,q:在命令行中退出。

编写:let,然后不要按Enter键,而是按Tab或Ctrl-d键-您将看到一个以“更多”样式显示的现有变量列表-现在按Esc键,写几个字母,再次按Tab或Ctrl-d键...依此类推,直到找到所需的变量。实际上,要查看变量的值,也许应该改用echo? (或设置变量名?作为选项)

非常酷,Ctrl-d和echo技巧都很好用,谢谢!

#1 楼

这不是more传呼机,这是Vim的内部和简约传呼机,没有搜索功能。

但是您可以使用:redir命令: >
…然后使用常规的Vim命令。

评论


哦,很酷,这是个很棒的命令!谢谢

–the_velour_fog
2015年12月5日,9:09

稍微简单一点::redir @b | sil let | redir结尾

–克里斯蒂安·布拉班特(Christian Brabandt)
2015年12月5日,12:38

即使它不是更多的传呼机,我还是觉得有一个空间可以用更少的插件替换Vim的更多传呼机。

–Max Coplan
20 Mar 16 '20在19:05

@MaxCoplan,您可以尝试以下方法:gist.github.com/romainl/eae0a260ab9c135390c30cd370c20cd7它不是完全寻呼机,但我发现它非常有用。

– romainl
20 Mar 18 '20 at 9:49

@romainl谢谢

–Max Coplan
20 Mar 18 '20 at 17:03

#2 楼

Vim 8有一个execute()命令,可让您获取命令的输出。要将其查看到当前缓冲区,请执行以下操作:

:put =execute('let')


对于Vim 7,您可以使用capture.vim。它是一个插件,可包装来自@romainl答案的命令,并允许您将其用作

:Capture let


评论


多数民众赞成在知道,谢谢。升级时我会检查一下。在vim 7 Im上,使用steve losh的clam插件将大量输出捕获到新缓冲区中。它也很好

–the_velour_fog
16 Dec 1'在20:21

这个答案和@romainl都非常适合不同的用途。当我要运行命令并在同一缓冲区中获取输出时,将使用此(:put = execute(…))。如果我想在另一个缓冲区中输出,我将使用:redir @a; :让;重新结束。这将帮助我终于在20年后发现我的突出显示和语法上的烦恼!

–布鲁诺·布鲁诺斯基(Bruno Bronosky)
20-2-2在2:59