Jak utworzyć plik o nazwie file2.ext, jeśli mój kursor znajduje się w pliku file2.ext. Coś w rodzaju gftylko do tworzenia nowych plików (jest to hipotetyczna sytuacja, myśl, że kiedyś może być pomocna).
Ale istnieje czyste rozwiązanie Vima, przenośne na różnych platformach. Wbudowana funkcja writefilezapisuje listę do pliku, linia po linii. Oczywiście, gdy lista wejściowa jest pusta, tworzony jest pusty plik. (Zobacz :help writefileszczegóły.) Możemy wykorzystać ten efekt uboczny:
Wziąłem doskonałą odpowiedź ib powyżej i rozszerzyłem ją w następujący sposób. Moim celem było użycie vima do utworzenia nowych plików Markdown zgodnie z potrzebami dla wiki (w tym przypadku wiki Gollum)
powyższe działa zgodnie z odpowiedzią. Jednak na początku myślałem, że to nie działa, ponieważ tak naprawdę nie widziałem otwarcia pliku w vimie. Użycie drugiego fragmentu kodu poniżej otworzy nowy plik - tego więcej szukałem. Połączyłem je i spróbowałem:
map <leader>cf :e <cfile><cr>
ale to nie działa w przypadku wiki, ponieważ podczas próby utworzenia nowego pliku na wiki przy użyciu składni takiej jak [[the-new-file]]składnia wiki nie pozwala na rozszerzenie pliku w nawiasach. Jednak Vim musi znać rozszerzenie podczas tworzenia nowego pliku, aby to działało. W tym przypadku użyłem:
map <leader>cf :e <cfile>.md<cr>
żebym mógł utworzyć nowe pliki przecen. Istnieją sposoby dalszego dostosowania tego (na przykład przez nie kodowanie rozszerzenia na stałe), ale powyższe działa dobrze dla moich potrzeb. Jeśli kiedykolwiek będę potrzebować innego rozszerzenia (na przykład, aby zapisać plik .wiki), prawdopodobnie po prostu wybiorę prostą trasę i utworzę inną mapę, na przykład:
map <leader>cwf :e <cfile>.wiki<cr>
Dodatkową korzyścią jest to, że możesz użyć tego samego polecenia, aby otworzyć już istniejący plik przeceny (standardowe gfpolecenie nie będzie tutaj działać, ponieważ brakuje rozszerzenia pliku).
gfdziała, jeśli set suffixesadd=.wiki. Ulepszona wersja cfbyłaby taka, która szanuje suffixesadd, przynajmniej w przypadku, gdy zawiera tylko jeden przedmiot.
<cfile>
zamiast<C-r><C-f>
Wziąłem doskonałą odpowiedź ib powyżej i rozszerzyłem ją w następujący sposób. Moim celem było użycie vima do utworzenia nowych plików Markdown zgodnie z potrzebami dla wiki (w tym przypadku wiki Gollum)
Najpierw próbowałem:
powyższe działa zgodnie z odpowiedzią. Jednak na początku myślałem, że to nie działa, ponieważ tak naprawdę nie widziałem otwarcia pliku w vimie. Użycie drugiego fragmentu kodu poniżej otworzy nowy plik - tego więcej szukałem. Połączyłem je i spróbowałem:
ale to nie działa w przypadku wiki, ponieważ podczas próby utworzenia nowego pliku na wiki przy użyciu składni takiej jak
[[the-new-file]]
składnia wiki nie pozwala na rozszerzenie pliku w nawiasach. Jednak Vim musi znać rozszerzenie podczas tworzenia nowego pliku, aby to działało. W tym przypadku użyłem:żebym mógł utworzyć nowe pliki przecen. Istnieją sposoby dalszego dostosowania tego (na przykład przez nie kodowanie rozszerzenia na stałe), ale powyższe działa dobrze dla moich potrzeb. Jeśli kiedykolwiek będę potrzebować innego rozszerzenia (na przykład, aby zapisać plik .wiki), prawdopodobnie po prostu wybiorę prostą trasę i utworzę inną mapę, na przykład:
Dodatkową korzyścią jest to, że możesz użyć tego samego polecenia, aby otworzyć już istniejący plik przeceny (standardowe
gf
polecenie nie będzie tutaj działać, ponieważ brakuje rozszerzenia pliku).źródło
gf
działa, jeśliset suffixesadd=.wiki
. Ulepszona wersjacf
byłaby taka, która szanujesuffixesadd
, przynajmniej w przypadku, gdy zawiera tylko jeden przedmiot.