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 %:h
któ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, h
to 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 autochdir
aby 'c' key
efekt zadziałał w powłoce, dzięki czemu możesz użyć !command args
zmienionego dir.
Spróbuj dodać set autochdir
do swojego .vimrc
. Jeśli chcesz to zmienić tylko raz, użyj :cd
(lub :cd!
wymuś).
cnoremap cd. lcd %:p:h
i nnoremap ,cd :cd %:p:h<CR>:pwd<CR>
'c' key
w 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 netrw
katalog przeglądania będzie taki sam jak katalog bieżący.
Dodanie tego do mojego .vimrc
automatycznie zmienia katalog roboczy Vima na bieżący plik:
autocmd BufEnter * silent! :lcd%:p:h
set autochdir
też to robi :-)