Відповіді:
Як вже було запропоновано, ви можете використовувати autochdir, який зміниться в каталог файлу, який ви відкрили, інший варіант
:cd mydirectory
що змінить каталог. Це може бути абсолютний або відносний шлях, тому :cd ..буде рухатися вгору на один рівень. Або ви можете використовувати, :cd %:hякий також змінить каталог, у якому знаходиться поточний файл, але без встановлення autochdir.
:cd
змінить каталог у ваш домашній каталог (або у Windows, надрукуйте поточний каталог).
:cd -
змінить каталог на попередній каталог, який ви відвідали.
%переводить поточне ім'я файлу, включаючи шлях, :додає модифікатор, hє head, тобто шлях до останнього роздільника шляху, тобто виключаючи саме ім'я файлу.
Крім того, якщо ви переглядаєте файлову систему за допомогою провідника файлу netrw, ви можете встановити поточний каталог натисканням клавіші c.
set autochdirдля 'c' keyотримання ефекту в оболонці, так що ви можете використовувати !command args в зміненому режимі.
Спробуйте додати set autochdirдо свого .vimrc. Якщо ви хочете змінити це лише один раз, використовуйте :cd(або :cd!примушуйте).
cnoremap cd. lcd %:p:hа nnoremap ,cd :cd %:p:h<CR>:pwd<CR>замість цього
'c' keyв netrw file Explorer для супроводу цього.
З netrw:в доповненні до натискання cкнопки для установки поточного каталогу, ви можете також помістити:
let g:netrw_keepdir= 0
у вашому .vimrc; це означає, що netrwкаталог веб-переглядачів буде таким самим, як і поточний каталог.
Додавши це до мого, .vimrcавтоматично змінюється робочий режим Vim на поточний файл:
autocmd BufEnter * silent! :lcd%:p:h
set autochdirробить це також :-)