Вставьте вывод системной команды в текущем местоположении в энергии

В энергии, когда я использую

:r !ls somefilename

это вставляет вывод той команды на новой строке ниже текущей строки.

Если я делаю

let @a = system("ls")

и позже

"ap

это все еще вставляет вывод на новой строке ниже текущей строки.

Существует ли способ заставить энергию вставить вывод в текущем местоположении?

33
задан 25 August 2012 в 09:59

4 ответа

Можно вставить содержание буфера буфера обмена между символами с Ctrl-R * в режиме вставки (и аналогичный подход для других буферов). Таким образом, если можно получить системную команду в буфер, Вы должны быть установлены. (Источник: https://stackoverflow.com/questions/1491135/paste-multi-line-string-into-gvim-at-cursor-position).

:let @a=system("ls -l") поместит вывод ls -l в регистр a. Можно затем вставить его (в режиме вставки) с ^R-a.

12
ответ дан 21 October 2019 в 12:31
:r !command 

считает вывод из команды и вставит его в строку под текущей строкой. Это - то, как vi программируется, Вы не можете изменить поведение.

, Но говорят, находитесь ли Вы в номере строки 3. Если Вы пробуете :r !date. Это вставит значение даты в номер строки 4.

, Если Вы захотите, чтобы значение даты появилось на номере строки 3, затем Вы пробуете :2r !date, вставит значение даты в номер строки 3.

39
ответ дан 21 October 2019 в 12:31

Вот альтернативный способ вставить вывод от внешней команды перед курсором:

:exe 'norm i' . system("ls -l")

или регистр выражения использования (:help @=):

"=system('ls -la')

затем совершает нападки P . Или более короткий путь:

<CTRL-R>=system('ls -la')<CR>
12
ответ дан 21 October 2019 в 12:31

В дополнение к let и p , мы также можем использовать функции vim setreg () и положить следующим образом:

:call setreg('f',system("ls"))

:put f

Обратите внимание, регистр f был выбран в этом примере просто для мнемонического представления слова «файлы». В этом нет ничего особенного, и вы можете выбрать свой собственный регистр.

1
ответ дан 27 December 2019 в 08:19

Другие вопросы по тегам:

Похожие вопросы: