Як відобразити назву файлу, над яким ви працюєте, in vim?
Як відобразити назву файлу, над яким ви працюєте, in vim?
Відповіді:
:f
( :file
) зробить те саме, що і <C-G>
. :f!
надасть необроблену версію, якщо це застосовується.
:f!
не завжди працює, натисніть 1, потім Ctrl-G для повного шляху.
~/dev/file.py
і виконуються :f
в рамках vim, я отримую file.py
як вихід замість ~/dev/file.py
.
ctrl-g
щоб повернути шлях + файл. :f
поверне ім'я файлу без шляху, як це можливо ctrl-g
. 1
, Перш ніж ctrl-g
покаже шлях & ім'я (не обов'язково розширено , хоча). тобто він покаже ~/dev/file.py
замість file.py
. 2
після чого ctrl-g
буде включати в себе будь буфер: buf 1: "~/dev/file.py"
.
ctrl+ gзробимо це.
Також мені подобається:
set statusline="%f%m%r%h%w [%Y] [0x%02.2B]%< %F%=%4v,%4l %3p%% of %L"
Що виробляє:
foo.c [C] [0x23] <код / foo.c 1, 1 2% від 50
Крім того, як хтось згадав (але зараз видалений) %
буде замінено на поточне ім'я файлу. Наприклад:
:! echo "поточний файл:%" поточний файл: foo.c Натисніть ENTER або введіть команду, щоб продовжити
[C]
і [0x23]
деталі?
'statusline'
це рядок, але ви не включаєте цитати в набір: set statuslineset statusline=%f%m%r%h%w\ [%Y]\ [0x%02.2B]%<\ %F%4v,%4l\ %3p%%\ of\ %L\ lines
також потрібні пробіли
встановити рядок статусу більше інформації з:help statusline
Ці команди можуть міститись у вашому .vimrc-файлі, або ви можете вводити їх як команди під час in vim, ввівши ":" в командному режимі.
Спочатку встановіть останній статус на 2, використовуючи наступне:
set laststatus=2
Потім встановіть рядок стану на% f для короткого імені файлу.
set statusline=%f
Для повного шляху до файлу використовуйте% F.
Щоб показати повний шлях до будь-якого файлу, включаючи розв'язані символьні посилання, скористайтеся наступним.
:echo resolve(expand('%:p'))
Це можна додати до панелі статусу, додавши рядок нижче до свого ~./vimrc
set statusline +=%{resolve(expand('%:p'))}\ %*
Одну з вищезазначених пропозицій довелося змінити
set statusline=%f%m%r%h%w\ [%Y]\ [0x%02.2B]%<\ %F%4v,%4l\ %3p%%\ of\ %L\ lines
щоб він працював. Також
set laststatus=2
було використано.
Я використовую дивовижне vimrc
з amix: https://github.com/amix/vimrc
Він використовує lightline.vim
плагінг і відображає ім'я файлу на панелі стану.
Чудова річ у використанні того amix/vimrc
, що цей плагін опікується більшою частиною налаштування, його дуже стабільним і перевірений тисячами людей, як ви можете перевірити, дивлячись на кількість зірок github .. та нечасті проблеми.
Його також оновлюються досить часто.
PS: не автор жодного з плагінів .. просто фанат :)
Мені також потрібно було помістити це у свій .vimrc файл:
set noruler
set laststatus=2
Тоді я міг би помістити щось подібне set statusline="%f%m%r%h%w [%Y] [0x%02.2B]%< %F%=%4v,%4l %3p%% of %L"
до свого .vimrc-файлу, і після перезавантаження мого терміналу рядок стану відображається належним чином.
'statusline'
є рядком, але ви не включаєте цитати в набір: set statuslineset statusline=%f%m%r%h%w\ [%Y]\ [0x%02.2B]%<\ %F%4v,%4l\ %3p%%\ of\ %L\ lines
також потрібні пробіли