Як відобразити назву файлу, над яким ви працюєте, 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також потрібні пробіли