终端vi模式:滚动前一行和输出

时间:2014-10-06 16:37:21

标签: vim terminal scroll vi xterm

我最近开始使用终端'(xterm)vi模式。我喜欢不必从键盘上移开手指,但是我想将前一行的部分输出复制到当前行,然后切换到鼠标。

有没有办法将光标移动到终端,然后进入可视模式并选择几个单词,然后复制它?

  • 我知道历史记录中的k / j滚动,但我想要浏览前一行的输出。
  • 我知道有一些转义序列适用于某些终端,但我似乎无法让它们在我的网站上工作。显然,纯粹的vi模式解决方案是最好的。

谢谢!

2 个答案:

答案 0 :(得分:1)

我正在回答我自己的问题,因为没有其他人做过......

  • 似乎在普通终端中无法做到这一点。转义序列基本上会将光标移动到终端周围(因此您可以覆盖以前的文本),如下所述:http://wiki.bash-hackers.org/scripting/terminalcodes。但是没有办法选择内置在终端中的文本(鼠标除外)。即使vi-mode需要在vi中打开一个临时文件来选择文本(这是在v用于可视模式时会发生的情况。)

  • 正如乔丹指出的那样,tmux可以通过出色的“命令模式”来实现这一点。这就是我最终做的事情。

答案 1 :(得分:0)

在我的xterm上,我将光标置于单词的命令模式下以开始复制。使用“y”键加上单词的数量,使用“w”键单词“5”。将光标移动到用'p'键放置单词的位置。可以使用'o'打开一个新行,[ESC]键在'p'put命令之前返回命令模式。

Now is the time for all good people to
 come to the aid of their country.

将光标置于时间,y5w,移动光标,p。

time for all good people