Пример Vim --remote-expr - PullRequest
       3

Пример Vim --remote-expr

7 голосов
/ 29 мая 2011

Так как мой google-fu меня подводит, может кто-нибудь дать мне простой пример того, как использовать --remote-expr или любой другой трюк командной строки для вставки текста в текущий буфер или для установки cfile. (Любое: -команда была бы хороша.)

Все, что мне удалось получить с --remote-expr, это E449: Invalid expression received для чего-либо.

Ответы [ 2 ]

7 голосов
/ 29 мая 2011

:help E449 приводит вас к базовому примеру. К сожалению, это немного слишком просто:

remote_expr({server}, {string} [, {idvar}])

Примеры:

:echo remote_expr("gvim", "2+2")
:echo remote_expr("gvim1", "b:current_syntax")

В командной строке это превращается в

 $ vim --servername "gvim" --remote-expr "2+2"
 4

Чтобы понять, что вы можете делать с выражениями, см. :help expr.

Порядок Vim для вставки текста из командной строки

Вам лучше использовать --remote-send, который посылает последовательности клавиш аналогично тому, как вы это делаете с map с или abbr с:

$ vim --servername Foo --remote-send "GoHello world! <ESC>"

добавит новую строку в конец буфера активного окна.

0 голосов
/ 13 декабря 2018

Если вы хотите выполнить команду, скажем, :ls, чтобы получить список буферов, вы можете сделать

vim --servername GVIM --remote-expr "execute(\"ls\")"

. Это выведет список всех буферов на сервере GVIM.Обратите внимание на экранированные кавычки.

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