Я знаю, что CTRL g отображает текущий файл, над которым вы работаете. Есть ли способ изменить мой .vimrc
таким образом, чтобы имя файла/путь всегда отображалось?
Как я могу навсегда отобразить путь к текущему файлу в Vim?
Ответ 1
В вашей статусной строке добавьте %F
, чтобы отобразить полный путь:
:help statusline
" Add full file path to your existing statusline
set statusline+=%F
Примечание. %F
будет полным путем. Чтобы получить путь относительно рабочего каталога, используйте %F
.
Если ваша статусная линия еще не видна, сначала вам нужно настроить ее, чтобы она всегда была видна, через laststatus=2
set laststatus=2
См. :help laststatus
для обозначения параметров. Как правило, статусная линия может быть скрыта или скрыта, если только несколько буферов открыты, но я считаю чрезвычайно полезным иметь все это время с такими настройками, поэтому стоит отказаться от одного резерва линии экрана для него.
Ответ 2
set ls = 2
добавьте это в vimrc, и вы всегда увидите имя файла внизу.
Ответ 3
Я нашел 2 способа отображения пути файла в строке заголовка терминала gnome при редактировании файла с помощью Vim.
Простейший (и лучший) способ: добавьте следующую строку в ~/.vimrc
:
set title
Что будет показано вверху:
filename.ext (~/path_to_directory_where_your_file_is/) - VIM
Более сложный способ покажет вам абсолютный путь к файлу. Это более подробно описано в этом сообщении в блоге Я недавно написал.
Ответ 4
Единственный способ найти полный путь к файлу, в котором я работаю: :echo expand('%:p')
. Вы можете перегруппировать ctrl + g, если хотите, но мне лично не нравится слишком сильно смещаться от стандартов. Я сопоставил F7 следующим образом:
map <F7> <Esc>:echo expand('%:p')<Return>
Ответ 5
Я всегда использовал :f
, но ответ и ссылки из @MichaelBerkowski потрясающие!
:f
показывает путь, количество строк, измененное состояние, текущую позицию курсора и многое другое...
Я не знал о CTRL G, но он, похоже, примерно тот же.
Ответ 6
Статусная линия очень мощная и удобная, я думаю. Пролив из коробки отобразит имя файла, позицию курсора и некоторые флаги. Но вы хотите сделать то же, что и я, и замените часть имени файла полным путем на файл.
Таким образом, при редактировании моей .vimrc
моя статусная линия может выглядеть примерно так: по умолчанию:
.vimrc 26,16 7%
Вы можете просмотреть настройки статусной линии с помощью:
:set statusline?
Но если вы не внесли никаких изменений и ни один модуль не изменил его, он был бы пустым. Но по примерам в разделе справки (:help statusline
) вы можете обнаружить, что по умолчанию:
:set statusline=%<%f\ %h%m%r%=%-14.(%l,%c%V%)\ %P
Поэтому включите это в свой .vimrc
и измените %f
на %f
. Я также добавил добавленный флаг filetype (%y
) в мою статусную линию, так как я считаю это удобным. Итак, моя результирующая конфигурация выглядит следующим образом:
:set statusline=%<%F\ %h%m%r%y%=%-14.(%l,%c%V%)\ %P
И результат будет выглядеть примерно так:
~/.vimrc [vim] 26,16 7%
Хорошее чтение:
PS. Я запускаю vim 7.3
Ответ 7
Если вы используете vim-airline, введите .vimrc
:
let g:airline_section_c = '%<%F%m %#__accent_red#%{airline#util#wrap(airline#parts#readonly(),0)}%#__restore__#'
Это модификация авиакомпании по умолчанию, изменение %f
на %f
.
Ответ 8
Если вы хотите, чтобы путь включал разрешенные символические ссылки, используйте следующее:
set statusline +=%{resolve(expand('%:p'))}\ %*
Чтобы сохранить аббревиатуру '~' для вашего домашнего каталога, включите fnamemodify
set statusline +=%{fnamemodify(resolve(expand('%:p')),':~')}\ %*