Jestem trochę nowicjuszem w Vimie. Chciałbym wysłać zawartość bieżącego bufora na stdin zewnętrznej komendy (powiedzmy mail). Moim ostatnim celem jest ustawienie skrótu do szybkiego wysyłania wiadomości e-mail z bieżącego bufora Vima. Zgaduję, że to powinno być trywialne, ale nie mogłem znaleźć sposobu na wysłanie bufora Vima do zewnętrznego polecenia. Z góry dziękuję.
95
STDIN
do poleceń powłoki: Rura zapłacić i otrzymać wyjście w wierszu informacyjnym i Wymiana wybrany oryginalny tekst z wyjściemOdpowiedzi:
Możesz użyć,
:w !cmd
aby zapisać bieżący bufor na stdin polecenia zewnętrznego. Od:help :w_c
:Powiązane polecenie polega na
:%!cmd
tym, że robi to samo, a następnie zastępuje bieżący bufor danymi wyjściowymi polecenia. Tak:%!sort
by wywołać polecenie sortowania zewnętrznego sortowania bieżący bufor na miejscu.źródło
:'<,'>!python -mjson.tool
lub:%!python -mjson.tool
:%!gofmt
bez ostatniej%
, ponieważ spowodowałoby to użycie zapisanej wersji (która może różnić się od obecnego bufora)u
do cofaniaOto przykład, jak wysłać bieżący bufor na zewnętrzne stdin z wiersza poleceń:
Jest to przydatne do celów skryptowych.
Aby uzyskać więcej sztuczek wiersza poleceń, sprawdź:
źródło