Как я могу постоянно отображать путь к текущему файлу в Vim?



Я знаю CTRLg отображает текущий файл, над которым вы работаете. Есть ли способ изменить мой .vimrc Так что имя файла / путь всегда отображается?

731   8  

8 ответов:

в строке состояния добавьте%F для отображения полного пути:

:help statusline

" Add full file path to your existing statusline
set statusline+=%F

Примечание %F будет полный путь. Чтобы получить путь относительно рабочего каталога, используйте %f.

если ваша строка состояния еще не видна, вам может потребоваться сначала настроить ее так, чтобы она всегда была видна, через laststatus=2

set laststatus=2

посмотреть :help laststatus для того, что означают параметры. Обычно строка состояния может быть скрыта или скрыта, если не открыто несколько буферов, но я нахожу ее чрезвычайно полезно иметь на все время с настройками, как это, хорошо стоит отказаться от одного экрана линии резерв для него.

set ls=2

добавить в vimrc, и вы всегда увидите имя файла внизу.

Я нашел 2 способа отображения пути к файлу в строке заголовка gnome-терминала при редактировании файла с помощью Vim.

более простой (и лучший) способ: добавьте следующую строку в свой ~/.vimrc:

set title

который покажет вам в верхней части:

filename.ext (~/path_to_directory_where_your_file_is/) - VIM

более сложный способ покажет вам абсолютный путь к файлу. Это документирована в немного более подробно в этом блоге Я недавно писал.

единственный способ, которым я нашел, чтобы получить полный путь к файлу, в котором я работаю, это::echo expand('%:p'). Вы можете повторно сопоставить ctrl+g, если хотите, но мне лично не нравится слишком сильно отходить от стандартов. Я сопоставил F7 вот так:

map  <F7> <Esc>:echo expand('%:p')<Return>

Я всегда использовал :f, но ответ и ссылки от @MichaelBerkowski удивительны!

:f показывает путь, количество строк, измененное состояние, текущее положение курсора и многое другое...

Я не знаю, о CTRLG но это, кажется, примерно то же самое.

статусная линия очень мощная и удобная, я думаю. Пролив из коробки он будет отображать имя файла, положение курсора и некоторые флаги. Но вы хотите сделать то же самое, что и я, и заменить filename-части с полный путь в файл.

так что при редактировании мой .vimrc моя строка состояния может выглядеть примерно так по умолчанию:

.vimrc                                                        26,16           7%

вы можете просмотреть настройки строки состояния с помощью:

:set statusline?

но если вы не сделали никаких изменений и не изменилось оно было бы пустым. Но по примерам в разделе справки (:help statusline) вы можете обнаружить, что по умолчанию:

:set statusline=%<%f\ %h%m%r%=%-14.(%l,%c%V%)\ %P

так что включите это в свой .vimrc, и %f до %F. Я также добавил добавил флаг типа файла (%y) к моей статусной линии, так как я нахожу это удобным. Поэтому моя результирующая конфигурация выглядит так:

:set statusline=%<%F\ %h%m%r%y%=%-14.(%l,%c%V%)\ %P

и результат будет выглядеть примерно так это:

~/.vimrc [vim]                                                26,16           7%

хорошее чтение:

PS. Я запускаю vim 7.3

если вы используете ВИМ-авиакомпания, положил в .vimrc:

let g:airline_section_c = '%<%F%m %#__accent_red#%{airline#util#wrap(airline#parts#readonly(),0)}%#__restore__#'

это модификация авиакомпании по умолчанию, изменение %f by %F.

Если вы хотите, чтобы путь включал разрешенные символические ссылки, используйте следующее:

set statusline +=%{resolve(expand('%:p'))}\ %*

чтобы сохранить аббревиатуру " ~ " для вашего домашнего каталога, включите fnamemodify

set statusline +=%{fnamemodify(resolve(expand('%:p')),':~')}\ %*

Comments

    Ничего не найдено.