2013-05-25 3 views
4

Скажите, что я запускаю :set all внутри командного режима, эта команда выводит много вещей, как ожидалось, как я могу перенаправить этот вывод на внешнее приложение, способное считывать входящий буфер, скажем gedit?Внутренний вывод команды vim для внешнего приложения

ответ

3

Используя ViM: How to redirect ex command output into current buffer or file?, вы можете перенаправить вывод непосредственно в файл, а затем открыть его с помощью Gedit или любого другого редактора, как и любой другой файл.

:redir >your_file | silent set all | redir END 

Edit:
Как отметил romainl в comments, вы также можете скопировать этот прямо в системный буфер обмена, если Vim скомпилирован с +clipboard. Затем вы можете просто вставить его в другое использование программы ctrlv как обычно.

:redir @+ | silent set all | redir END 
+0

так что ничего «на лету» и более прямолинейно, как труба в оболочке, как и «дата» | gedit'? – user2384250

+0

@ user2384250 Возможно, что-то вроде 'vim -c', но я раньше ничего подобного не видел. – timss

+1

Сегодня ': redir' день! Если Vim скомпилирован с поддержкой буфера обмена, следующее может быть более прямым: ': redir @ + | тихий набор все | redir END'. – romainl

Смежные вопросы