Odpowiedzi:
Jak już zasugerowano, możesz użyć autochdir, który przejdzie do katalogu otwartego pliku, druga opcja to
:cd mydirectory
co zmieni katalog. Może to być ścieżka bezwzględna lub względna, więc :cd ..przejdzie o jeden poziom w górę. Lub możesz użyć, :cd %:hktóry również zmieni katalog, w którym znajduje się bieżący plik, ale bez ustawiania autochdir.
:cd
zmieni katalog na twój katalog domowy (lub w Windows drukuje bieżący katalog).
:cd -
zmieni katalog na poprzedni odwiedzony katalog.
%tłumaczy na aktualną nazwę pliku, w tym ścieżkę, :dodaje modyfikator, hto head, czyli ścieżkę do ostatniego separatora ścieżki, czyli z wyłączeniem samej nazwy pliku.
Również, jeśli przeglądasz system plików za pomocą eksploratora plików netrw, możesz ustawić bieżący katalog, naciskając klawisz c.
set autochdiraby 'c' keyefekt zadziałał w powłoce, dzięki czemu możesz użyć !command args zmienionego dir.
Spróbuj dodać set autochdirdo swojego .vimrc. Jeśli chcesz to zmienić tylko raz, użyj :cd(lub :cd!wymuś).
cnoremap cd. lcd %:p:hi nnoremap ,cd :cd %:p:h<CR>:pwd<CR>
'c' keyw eksploratorze plików netrw, aby temu towarzyszyć.
Nie wiem, co jest nie tak z vimem. Chcę, aby katalog, w którym uruchamiam vima, był bieżący.
Postępowałem zgodnie ze wskazówką dotyczącą autochd powyżej i ustawiłem ją na noautcd w moim .vimrc.
Jeszcze tego nie zrobiłem, ale od teraz mam zamiar uruchomić Vima w ten sposób:
vim —cmd 'cd `pwd`'
To sprawi, że pozostanie w bieżącym katalogu!
Dzięki netrw:oprócz naciśnięcie cprzycisku, aby ustawić bieżący katalog, można również umieścić:
let g:netrw_keepdir= 0
w twoim .vimrc; oznacza to, że netrwkatalog przeglądania będzie taki sam jak katalog bieżący.
Dodanie tego do mojego .vimrcautomatycznie zmienia katalog roboczy Vima na bieżący plik:
autocmd BufEnter * silent! :lcd%:p:h
set autochdirteż to robi :-)