Powiedzmy, że mam plik o nazwie file.txt. Jest to nazwa pliku, który chcę edytować za pomocą vi. Chcę zrobić coś takiego, aby móc edytować plik:
cat file.txt | vi
To jednak nie działa. Jak można to zrobić?
Aby wyjaśnić:
Oto zawartość pliku.txt:
textfile
Chcę więc jakoś wysłać zawartość pliku.txt do vi, aby stało się to samo, co podczas pisania vi textfile
.
Zawartość pliku.txt może ulec zmianie. Chcę, aby vi edytować dowolny plik wymieniony w pliku.txt.
vi file.txt
. : Czy próbujesz zrobić coś bardziej zaawansowanego?xclip
a następnie użyj,xclip -o
aby uzyskać dostęp do schowka na powłoce w x11. na wypadek, gdybyś musiał wymienićpbpaste
...Odpowiedzi:
możesz spróbować:
lub, aby uniknąć niepotrzebnego użycia kota:
mówisz vi (m) tylko kilka arbitralnych rzeczy. jeśli chcesz, aby vi (m) zrobiło coś w stylu „hej, otwórz ten plik”, musisz podać mu te same polecenia, których używałbyś w vi (m), np. coś jak
:e foo.txt
. ale to tylko bardziej skomplikowane niż robienie tego, co zaproponowałem.źródło
vi $(cat file.txt)
Przynajmniej dla vima (nie jestem pewien co do vi), możesz to zrobić
„-” mówi vimowi, żeby czytał ze standardowego wejścia.
źródło