Jak mogę wykonać selekcję Vima lub zakres w bashu bez zastępowania go?

12

Chciałbym zaznaczyć tekst w vimie, a następnie wykonać go w bash. Znam następującą procedurę:

  1. zaznacz tekst za pomocą Vlubv
  2. :!!

Zastępuje to jednak wybór wynikiem polecenia. Co jeśli tego nie chcę?

Klaas van Schelven
źródło

Odpowiedzi:

21

Wpisz :wpolecenie w następujący sposób:

:w !command

Podczas pisania będzie wyglądać następująco:

:'<,'>w !command

Widzieć

:help :w_c
garyjohn
źródło
3
Jest to poprawne, ale uważaj, aby nie zrobić tego :w! commandprzez pomyłkę. Jeśli polecenie jest programem, do którego masz dostęp do zapisu, zastąpi ono program i nie będziesz mógł cofnąć zmiany, ponieważ nie był to otwarty bufor.
Ray
5

W vimie 8.0 możesz wybrać zakres linii i uruchomić :terminal bash. Spowoduje to otwarcie terminala działającego bashz twoim wyborem jako stdin.

:terminal node, :terminal ruby, :terminal pythonWydają się działać dobrze, jak dobrze.

użytkownik 1480704
źródło