Znajduję się w pozycji, w której chcę utworzyć nowy plik w tym samym katalogu, w którym znajduje się otwarty plik. Jak utworzyć nowy plik w katalogu otwartego pliku w vimie? Czy jest też miejsce, w którym sam mogę się tego nauczyć? Googlowanie nie pomogło.
93
Odpowiedzi:
Z poziomu Vima tworzone są nowe pliki, tak jak edytowane są istniejące pliki, za pomocą poleceń takich jak
:edit filename
lub:split filename
. Aby zachować je na dysku, musisz (opcjonalnie wpisać zawartość i) utrwalić je za pośrednictwem:write
.Podobnie jak wiersz poleceń, Vim ma pojęcie bieżącego katalogu (
:pwd
wyświetla go). Wszystkie ścieżki plików są względem niego względne. Nie musisz duplikować ścieżki do swojego aktualnego pliku, jest do nich kilka fajnych skrótów:%
odnosi się do bieżącego pliku,:h
jest modyfikatorem jego katalogu, bez nazwy pliku (cp.:help filename-modifiers
). Więc,utworzy nowy plik o nazwie
filename
w tym samym katalogu co aktualnie otwarty plik i zapisze go.Alternatywnie, niektórzy ludzie lubią Vima, aby zawsze przechodził do katalogu bieżącego pliku. Można to skonfigurować, umieszczając
do twojego
~/.vimrc
pliku (który jest odczytywany przy starcie Vima). Wtedy powyższe staje się prosteWreszcie, Vim ma świetną wbudowaną
:help
. Naucz się nawigować i przeszukiwać!źródło
autochdir
jest niestety niestabilny i stwierdziłem, że nie mogę na nim polegać. Zamiast tego umieściłem autocmd w moim vimrc:autocmd BufEnter * silent! lcd %:p:h:gs/ /\\ /
powinieneś spróbować z wtyczką "nerdtree". W oknie nerdtree wpisałeś klawisz m, a opcje operacji na plikach zostaną wyświetlone
źródło
Jeśli chcesz utworzyć nowy plik, a także pokazać go w oknie obok bieżącego pliku, możesz spróbować tego:
vsp
Oznaczavertical split
, i to dzieli ekran na pół, jeden pokazujący aktualny plik, drugi pokazuje swój nowy plik (działa również z właśniesp
, która jest pozioma split).Zgodnie z komentarzem @ MartinLyne powyżej, spowoduje to utworzenie pliku w katalogu pliku, w którym został otwarty
vim
. Aby to dostosować, możesz zmienić bieżący katalog roboczy w następujący sposób:To polecenie zmienia bieżący katalog roboczy na katalog aktywnego pliku, co oznacza, że uruchomienie
vsp
polecenia (lub dowolnego z poleceń powyżej) spowoduje utworzenie pliku w tym katalogu.źródło
Kiedy otworzyłeś Vima w nieistniejącej lokalizacji, takiej jak
$ vim /etc/<some_folder/<next_folder>/file.cfg
następnie, aby utworzyć nowy katalog będąc w vimie, po prostu uruchom w trybie normalnym
:! mkdir -p /etc/<some_folder/<next_folder>
i zamiast zapisywać swój dokument jak zwykle:w :x ZZ
(cokolwiek chcesz)Otóż to
źródło
To jest dla Gvima! Wprowadź to, aby zobaczyć bieżący katalog.
następnie zmień go za pomocą
następnie zapisz lub utwórz tam nowy plik
teraz ponownie zobacz plik
źródło
Spóźniłem się na imprezę, ale inną opcją jest otwarcie NERDtree za pomocą
:E
lub:Explore
(lub jego alternatyw rozdzielających:Vexplore
/:Sexplore
==:Vex
/:Sex
).W NerdTree możesz utworzyć nowy plik za pomocą
%
i wpisać nazwę. Automatycznie otworzy plik i utworzy go po jego:w
/ zapisaniu.źródło