w zasadzie mój przepływ pracy jest następujący: mam kilka okien otwartych przy użyciu podziałów w terminalu w zwykłym vimie. Czasami mam plik otwarty, czasami nie przełączam się między :buf
i, :tag
aby uzyskać plik. Idealnie chciałbym coś, co by działało, :buf
ale jeśli plik nie znajduje się obecnie w buforze, to wykonałby a :e
.
Dlatego w celu uproszczenia:
Wpisuję :buf
i wpisuję część nazwy pliku i uderzam <tab>
to daje mi dopasowanie do plików i dopasowuje tyle plików, ile to możliwe, jeśli żądanego pliku nie ma już w buforze, chciałbym nadal móc wpisać ten plik nazwij i załaduj plik. Zwykle teraz muszę wrócić i zmienić polecenie z a :buf [file]
na a :e [file]
.
Czy istnieje sposób na utworzenie polecenia, które działałoby jak :buf
ale otwiera plik, jeśli jeszcze nie istnieje? Powodem, :buf
dla którego zacznę od tego jest to, że ogranicza zakres do plików w niektórych katalogach i dopasuje je po naciśnięciu klawisza. Mam nadzieję, że wyjaśniłem to poprawnie :).
Przykład:
:buf FooX[tab]
pokazuje 4 pliki i ma
:buf [very long path]/FooX
Teraz, jeśli plik Dokładny z przedrostkiem FooX nie jest wyświetlany, nadal chcę móc pisać FooXFileNotShown.cpp
i ładować go tak, jak :e
powinien.
Z góry dziękuje za twoją pomoc.