Я знаю, 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, здається, не робить того, що ви говорите. Хоча документи, безсумнівно, погоджуються з вами ...