Як запускати команди Unix зсередини Vim?


76

Як я можу запускати команди Unix, поки я перебуваю всередині vim?

Відповіді:


102

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

Якщо у вас обраний текст у візуальному режимі і ви хочете відправити його команді як STDIN, натисніть !!і введіть свою команду. Результати команди замінять обраний вами текст.


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

4
також, якщо ви просто хочете помістити висновок команди у свій документ, просто зробіть це :r!unix_command. Це корисно для таких команд, якdate
Яб

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

1
Щось ще, на мою думку, варто зазначити, що це залежить від ОС, яку ви використовуєте. Якщо ви використовуєте Windows, вона виконає команду оболонки Windows. Багато людей, які читають це, вже знають, що, але для людей, які приїжджають з Google, я вважав, що це варто згадати.
Андрій

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.