:let
Vim使用
--more--
传呼机显示此命令的结果。如何我在此搜索短语,例如
html
吗?我看过手册页上的更多寻呼机,上面写着
+/
用于搜索,但似乎不起作用,按照较少的寻呼机,/
也没有。#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
评论
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技巧都很好用,谢谢!