Выберите свой блок текста, затем введите следующие клавиши: w! Sh
Все это должно выглядеть так:
:'<,'>w !sh
Вот и все. Мне понадобилось 8 лет, чтобы выучить это:)
примечание: ввод: после выделения текста выдает: <, '> диапазон, указывающий начало и конец выделения.
Обновление 2016: Это на самом деле только одно использование универсального:
'<,'>w !cli_command
Что в основном позволяет вам "отправлять" произвольные части вашего файла внешним командам и просматривать результаты во временном окне vi без изменения буфера. Другими полезными примерами будут:
'<,'>w !wc
'<,'>w !to_file my_file
Честно говоря, я считаю более полезным изменить текущий буфер. Это разнообразие просто:
'<,'>!wc
'<,'>!to_file my_file