Из редактора vi можно выполнять команды оболочки. Команда :r! работает аналогично команде :r, но вместо содержимого другого файла она вставляет в редактируемый файл выдачу некоторой команды. Например, введя команду
:r! ls -Fмы получим следующее:
COW IS THE TIME FOR ALL WOMEN TO COME TO THE SESSION. letters/ misc/ papers/
Можно также "временно выйти" из редактора, запустить команду и затем вернуться обратно. Например, если будет введена команда
:! ls -Fто команда ls -F будет исполнена, ее результат будет выдан на экран, но выдача вставлена в файл не будет. Если используется команда
:shellто редактор vi запускает сеанс (instance) командной оболочки, прерывая редактирование на время исполнения команд. Для выхода из оболочки и возвращения к редактированию надо ввести команду exit.