2016-06-07 104 views
1

我試圖獲得我在視頻中看到的功能。基本上,這個人在終端(我相信在使用tmux時很重要),並且使用快捷方式將stdout轉換爲vim緩衝區,並且可以輕鬆地導航並選擇/複製文本。這是如何完成的?終端 - 在新的vim緩衝區中顯示輸出

+1

在終端側這是一個'tmux'功能,瞭解'手冊中拷貝mode'。在Vim方面,它只是粘貼,但請閱讀':h'剪貼板'。還有'vipe(1)'來自[moreutils](https://joeyh.name/code/moreutils/)。 – lcd047

回答

1

你在談論tmux的複製模式

默認情況下,你可以通過CTRLb[如果C-b是你的前綴複製模式。否則,使用前綴+ [

可以使用運動與^hĴķ升瓦特^,與搜索?/

一些相關的details

0

tabnew命令用於打開新選項卡。

您可以使用管道符號,然後使用其他命令。這些命令的輸出將被重定向到新的緩衝區。

實施例:

  :tabnew | r! pwd 

PWD將打印當前目錄和R將讀取它。 Tabnew會將該輸出放入新緩衝區。 您可以同時使用shell命令和vim命令。

類似地,可以使用enew命令代替tabnew作爲新緩衝區。 在這裏看到: https://superuser.com/questions/157987/pipe-output-of-shell-command-into-a-new-buffer-in-vim

How to redirect stdout output to a new Vim tab?

How do I dump output of an external command to a new buffer in Vim?

0

您可以運行:read !<cmd>在shell執行一個命令並捕獲輸出到當前的緩衝區。

例如 - :read !date

如果你想在一個新的緩衝輸出,使用:new

所以兩者結合起來,:new | read !date

0

在readline的,在默認的emacs模式,您可以按<C-x><C-e>編輯當前命令行中$EDITOR

如果您使用vi模式,則可以按<Esc>v來做同樣的事情。