pobieranie danych wyjściowych z komendy w buforze vim

4

co chcę robić

  1. edycja jednego pliku
  2. uruchom '! svn diff%' (lub dowolne inne polecenie, które pobiera bieżącą nazwę pliku )
  3. umieść dane wyjściowe w nowym buforze (lub tabulacji)

premia: nie korzystam ze skryptu, ponieważ często pracuję na hostach, nie podoba mi się to.

Moja pierwsza próba brzmiała: :tabnew | r !svn diff %co oczywiste nie działa, ponieważ% będzie pusty, ponieważ jest analizowany po poleceniu tabnew.

gcb
źródło

Odpowiedzi:

7

To powinno działać:

:tabnew | r !svn diff #

#odwołuje się do poprzedniego bufora, tj. bufora, który był otwarty przed jego :tabnewwykonaniem.

Jeszcze lepiej jest

:tabnew | set buftype=nowrite | r !svn diff #

bo wtedy vim nie będzie narzekał, kiedy zamkniesz kartę, ale to już za dużo, by pisać za każdym razem.

Daniel Kullmann
źródło
To naprawdę potężny wzór! Chciałbym wiedzieć wcześniej o tym poleceniu potoku.
AlexMA