Есть ли способ вставить вывод команды vim в буфер? - PullRequest
5 голосов
/ 15 декабря 2010

Время от времени я хочу вставить в буфер вывод команды vim. Например. когда я редактирую свой vimrc, было бы неплохо иметь возможность поиграть с statusline, а затем просто сделать что-то похожее на

"=set statusline?<Enter>p

Проблема в том, что дает

E121: Undefined variable: set
E15: Invalid expression: set statusline?
Press ENTER or type command to continue

Я полагаю, что это возможно, и что я просто недостаточно знаю о встроенных функциях и о том, как их использовать (я вижу expand, использованный здесь и там, но никогда не делал так, чтобы он работал для меня в любом контекст), хотя я (думаю, что у меня) достаточно четкое понимание нормального режима.

Обратите внимание, что этот конкретный пример немного надуман, но сейчас я не могу придумать лучшего. Для приведенного выше конкретного случая использования я мог бы просто ":p получить целую команду set, которую я использовал во время экспериментов, и затем отредактировать в соответствии с требованиями, но довольно часто я сталкиваюсь с другими случаями, когда я хочу, чтобы vim сказал мне что-то и Я хочу вставить этот вывод куда-нибудь, чтобы продолжить смотреть на него, продолжая свою работу.

Ответы [ 2 ]

4 голосов
/ 15 декабря 2010

Вы можете вставить параметр настройки:

"=&statusline<Enter>p

Однако я не знаю, как поместить выходные данные произвольной команды в буфер.

4 голосов
/ 15 декабря 2010

Значения настроек хранятся в переменных, перед которыми стоит символ &. Таким образом, к значению, установленному statusline, можно обратиться по ссылке &statusline. Для вставки в документ одним из способов является использование регистра "expression", <ctrl-R>=. Чтобы использовать его, войдите в режим вставки и нажмите <ctrl-R>, а затем =. Вы увидите знак равенства в командной строке, где вы можете ввести: &statusline и затем нажать enter. Это вставит значение в буфер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...