Я знаю, CTRLgвідображає поточний файл, над яким ви працюєте. Чи є спосіб змінити мій .vimrc
файл таким чином, щоб ім'я файлу / шлях завжди відображалося?
Відповіді:
У рядку стану додайте a, %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 під час редагування файлу за допомогою 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-airline , додайте .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
. Я також додав прапорець filetype ( %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
, здається, не робить того, що ви говорите. Хоча документи, безсумнівно, погоджуються з вами ...