Я знаю, что CTRLgотображает текущий файл, над которым вы работаете. Есть ли способ изменить мой .vimrc
так, чтобы имя файла / путь всегда отображались?
Ответы:
В строке состояния добавьте, %F
чтобы отобразить полный путь:
:help statusline
" Add full file path to your existing statusline
set statusline+=%F
Обратите внимание, %F
это будет полный путь. Чтобы получить путь относительно рабочего каталога, используйте %f
.
Если ваша строка состояния еще не отображается, вам может сначала потребоваться настроить ее, чтобы она была всегда видимой, с помощью laststatus=2
set laststatus=2
Посмотрите, :help laststatus
что означают варианты. Обычно строка состояния может быть скрыта или скрыта, если не открыто несколько буферов, но я считаю чрезвычайно полезным постоянно иметь такую настройку, что стоит отказаться от одной резервной строки экрана для нее.
:set statusline=%F
без+
:set statusline=%F
? Посмотрите вправо или влево, чтобы увидеть, не скрывается ли имя файла в строке состояния
set laststatus=2
чтобы статусная строка всегда была видна. Я забыл, что это было на мне.
установить ls = 2
добавьте это в vimrc, и вы всегда будете видеть имя файла внизу.
set modeline
немного опасно и не имеет никакого отношения к вопросу. Он позволяет выполнять команды Vim в 5 начальных / конечных строках файла. Его должны включать только те, кто знает зачем и очень этого хочет. (Вот почему я -1 этот ответ)
Я нашел 2 способа отображать путь к файлу в строке заголовка gnome-terminal при редактировании файла с помощью 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>
:help CTRL-G
, и посмотрите на два абзаца вниз CTRL-G
со счетчиком.
1 CTRL-G
показывает полное имя файла. Искал этот вариант.
~
.
Если вы используете vim-airlines , введите .vimrc
:
let g:airline_section_c = '%<%F%m %#__accent_red#%{airline#util#wrap(airline#parts#readonly(),0)}%#__restore__#'
Это модификация авиакомпании по умолчанию, изменяющаяся %f
на %F
.
Я считаю, что статусная строка очень удобна и удобна. Прямо из коробки он будет отображать имя файла, позицию курсора и некоторые флаги. Но вы хотите сделать то же самое, что и я, и заменить имя файла -part на полный путь к файлу.
Поэтому при редактировании моей .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
Если вы хотите, чтобы путь включал разрешенные символические ссылки, используйте следующее:
set statusline +=%{resolve(expand('%:p'))}\ %*
Чтобы сохранить аббревиатуру '~' для вашего домашнего каталога, включите fnamemodify
set statusline +=%{fnamemodify(resolve(expand('%:p')),':~')}\ %*
set statusline+=%F
к моему~/.vimrc
, похоже, не делает то, что вы говорите. Хотя документация, похоже, с вами согласна ...