Как запускать команды Unix из Vim?


Ответы:


103

Перейдите в командный режим Esc, затем запустите :!unix_command. Все, что запускается из :приглашения, начинающегося с взрыва, !будет выполняться как команда оболочки unix. Вы увидите вывод и сможете нажать клавишу, чтобы вернуться к своей работе в vim.

Если у вас выделен текст в визуальном режиме и вы хотите отправить его в команду как STDIN, нажмите !!и введите вашу команду. Результаты команды заменят текст, который вы выбрали.


14
Кроме того, !! без выделенного текста вы сможете запустить команду и затем вставить результат в текущую позицию курсора - не нужно отправлять материал в STDIN и заменять его, если вам это не нужно / не нужно.
Кромей

4
также, если вы просто хотите поместить вывод команды в ваш документ, просто сделайте :r!unix_command. Это полезно для таких команд, какdate
Yab

2
Вы также можете выполнить несколько строк вашего буфера vi с помощью оболочки (или любого интерпретатора) и заменить их результатом выполнения. например: :10,20!shили, сформируйте отмеченные линии,'a,'b!sh
jlliagre

1
Что-то еще, что я думаю, стоит отметить, что это зависит от используемой вами ОС. Если вы используете Windows, он выполнит команду оболочки Windows. Многие, читающие это, уже знают об этом, но я подумал, что для тех, кто приезжает из Google, стоит упомянуть.
Андрей

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.