Я хотел бы сделать свою строку состояния в vim более информативной и интересной, и для этого мне нужны некоторые идеи. Как вы настраивали свою статусную строку?
@paxdiablo: Иногда стоит потратить время на настройку инструмента в соответствии с вашими потребностями, чтобы вы могли лучше использовать его и, таким образом, сэкономить время во время работы.
DarkDust
10
Это должно быть сообщество вики, так как нет правильного ответа.
Рэнди Моррис
3
Речь идет не столько о мнениях, сколько об использовании опыта и знаний более образованных людей. Опрашивающий ищет информацию, которую он не может угадать, не прося людей конкурировать за лучшее. Ответы будут генерировать несколько вариантов, которых у него не было раньше. Тот факт, что вопрос имеет более одного ответа, не означает, что это не вопрос технической экспертизы. Этот вопрос хорошо подходит для формата SO и должен оставаться открытым.
NeilG
Ответы:
134
Редактировать:-
Обратите внимание, что vim-Airlines набирает обороты благодаря новой опции vimscript, так как Powerline стала питоном.
это хороший плагин. Но моя производительность прокрутки при первом открытии файла очень и очень плохая из-за этого.
Ахмед Эон Аксан
2
@AhmedAeonAxan попробуйте авиакомпанию, она начинается быстро (чистый vimscript). И требует гораздо меньше усилий для настройки, особенно с Vundle или Pathogen. И как только вы установите шрифт Powerline, он более или менее похож на авиакомпанию. github.com/Lokaltog/powerline-fonts
заснеженный
60
Вот мой:
set statusline=
set statusline +=%1*\ %n\ %* "buffer number
set statusline +=%5*%{&ff}%* "file format
set statusline +=%3*%y%* "file type
set statusline +=%4*\ %<%F%* "full path
set statusline +=%2*%m%* "modified flag
set statusline +=%1*%=%5l%* "current line
set statusline +=%2*/%L%* "total lines
set statusline +=%1*%4v\ %* "virtual column number
set statusline +=%2*0x%04B\ %* "character under cursor
И вот цвета, которые я использовал:
hi User1 guifg=#eea040 guibg=#222222
hi User2 guifg=#dd3333 guibg=#222222
hi User3 guifg=#ff66ff guibg=#222222
hi User4 guifg=#a0ee40 guibg=#222222
hi User5 guifg=#eeee40 guibg=#222222
На самом деле c - это число байтов, даже если его иногда называют счетчиком столбцов даже в справке vim. Вы можете использовать v, чтобы получить то, что обычно подразумевается под номером столбца.
Людвиг Вайнцерль
Спасибо @Ludwig, я этого не заметил. Я отредактирую ответ.
Tassos
8
Мне нравится ясность комментирования каждого добавленного значения в отдельной строке. Если бы я сделал это 7 лет назад, я бы не выбросил его, когда делал последнюю чистую установку ОС.
Бруно Броноски
Sweeet! Одна вещь, которую я пропустил, используя эту строку, это линия, которая разделяет разделенную сессию
Хулио Маринс
1
@trusktr Обратите внимание, что guifgи guibgдля gvim. Если вы работаете vimв терминале, попробуйте ctermfgи ctermbgвместо этого. Вам также понадобятся разные цвета, числа 1-16 или 1-256, в зависимости от того, сколько цветов вы включили в vim. Соответствующие цвета для каждого номера.
joelostblom
46
Это тот, который я использую:
set statusline=
set statusline+=%7*\[%n] "buffernr
set statusline+=%1*\ %<%F\ "File+path
set statusline+=%2*\ %y\ "FileType
set statusline+=%3*\ %{''.(&fenc!=''?&fenc:&enc).''} "Encoding
set statusline+=%3*\ %{(&bomb?\",BOM\":\"\")}\ "Encoding2
set statusline+=%4*\ %{&ff}\ "FileFormat (dos/unix..)
set statusline+=%5*\ %{&spelllang}\%{HighlightSearch()}\ "Spellanguage & Highlight on?
set statusline+=%8*\ %=\ row:%l/%L\ (%03p%%)\ "Rownumber/total (%)
set statusline+=%9*\ col:%03c\ "Colnr
set statusline+=%0*\ \ %m%r%w\ %P\ \ "Modified? Readonly? Top/bot.
hi User1 guifg=#ffdad8 guibg=#880c0e
hi User2 guifg=#000000 guibg=#F4905C
hi User3 guifg=#292b00 guibg=#f4f597
hi User4 guifg=#112605 guibg=#aefe7B
hi User5 guifg=#051d00 guibg=#7dcc7d
hi User7 guifg=#ffffff guibg=#880c0e gui=bold
hi User8 guifg=#ffffff guibg=#5b7fbb
hi User9 guifg=#ffffff guibg=#810085
hi User0 guifg=#ffffff guibg=#094afe
Хорошо, это избавляет от необходимости иметь модные плагины строки состояния, по крайней мере, для моего случая, глазной леденец :)
Nishant
1
Как заставить цвета работать?
trusktr
Я попытался поставить это после того, как любой colorschemeбыл установлен, но я просто вижу двухтональную строку состояния.
trusktr
@trusktr, не легко объяснить .... Вам нужно поместить первые 2 блока в ваш файл vimrc и блок colors в ваш текущий файл colorscheme. Вы можете найти ваш текущий файл colorscheme с помощью этой команды::colorscheme
Reman
1
Ваш основной поиск будет короче (без какой-либо функции), просто используя троичный оператор, как этот -> echo &hls ? 'H' : '' в моем случае:let &stl.="%6*%01(%{&hls?'H':''}%)%0* "
SergioAraujo
20
То , что я нашел полезным, чтобы знать , какие копировать / вставить буфер (регистр) в настоящее время активен: %{v:register}. В противном случае моя полная строка состояния выглядит почти так же, как стандартная строка.
Что значит для реестра быть активным? Мое (плохое) понимание регистров состоит в том, что они были в основном буфером обмена для хранения текста.
Роймунсон
15
В несколько раз меньше - больше, вам действительно нужно знать процентное содержание в файле, который вы используете при кодировании? Как насчет типа файла?
set statusline=%F%m%r%h%w\
set statusline+=%{fugitive#statusline()}\
set statusline+=[%{strlen(&fenc)?&fenc:&enc}]
set statusline+=\ [line\ %l\/%L]
set statusline+=%{rvm#statusline()}
Я также предпочитаю минимальный цвет, чтобы не отвлекать от кода.
В настоящее время я использую следующие настройки строки состояния:
set laststatus=2
set statusline=\ %f%m%r%h%w\ %=%({%{&ff}\|%{(&fenc==\"\"?&enc:&fenc).((exists(\"+bomb\")\ &&\ &bomb)?\",B\":\"\")}%k\|%Y}%)\ %([%l,%v][%p%%]\ %)
Ответы:
Кажется, что линия электропередачи находится там, где она находится в эти дни:
Нормальная строка состояния
Индивидуальные строки состояния для других плагинов (например, ctrlp )
источник
Вот мой:
И вот цвета, которые я использовал:
источник
guifg
иguibg
дляgvim
. Если вы работаетеvim
в терминале, попробуйтеctermfg
иctermbg
вместо этого. Вам также понадобятся разные цвета, числа 1-16 или 1-256, в зависимости от того, сколько цветов вы включили в vim. Соответствующие цвета для каждого номера.Это тот, который я использую:
Выделить на? функция:
Цвета (адаптировано из ligh2011.vim):
источник
colorscheme
был установлен, но я просто вижу двухтональную строку состояния.:colorscheme
echo &hls ? 'H' : ''
в моем случае:let &stl.="%6*%01(%{&hls?'H':''}%)%0* "
То , что я нашел полезным, чтобы знать , какие копировать / вставить буфер (регистр) в настоящее время активен:
%{v:register}
. В противном случае моя полная строка состояния выглядит почти так же, как стандартная строка.источник
v:register
выглядит очень полезным!В несколько раз меньше - больше, вам действительно нужно знать процентное содержание в файле, который вы используете при кодировании? Как насчет типа файла?
Я также предпочитаю минимальный цвет, чтобы не отвлекать от кода.
Взято из: https://github.com/krisleech/vimfiles
Примечание:
rvm#statusline
специфично для Ruby и дляfugitive#statusline
git.источник
В настоящее время я использую следующие настройки строки состояния:
Мой полный файл .vimrc: http://gabriev82.altervista.org/projects/vim-configuration/
источник
set statusline=%<%f%m\ \[%{&ff}:%{&fenc}:%Y]\ %{getcwd()}\ \ \[%{strftime('%Y/%b/%d\ %a\ %I:%M\ %p')}\]\ %=\ Line:%l\/%L\ Column:%c%V\ %P
Это моё, дай в качестве предложения
источник