Bardziej przydatna linia statusu w vimie? [Zamknięte]
150
Chciałbym, aby moja linia statusu w vimie była bardziej pouczająca i interesująca, a do tego potrzebuję kilku pomysłów. Jak dostosowałeś swoją linię statusu?
@paxdiablo: Czasami warto poświęcić czas na skonfigurowanie narzędzia do swoich potrzeb, aby móc go lepiej wykorzystać, a tym samym zaoszczędzić czas podczas pracy.
DarkDust
10
Powinno to być wiki społeczności, ponieważ nie ma poprawnej odpowiedzi.
Randy Morris,
3
Nie chodzi tu tylko o opinie, ale o wykorzystanie doświadczenia i wiedzy bardziej uczonych osób. Pytający szuka informacji, których nie może odgadnąć, a nie prosi o rywalizację o to, co najlepsze. Odpowiedzi wygenerują szereg opcji, których wcześniej nie miał. Tylko dlatego, że pytanie ma więcej niż jedną odpowiedź, nie oznacza, że nie jest to pytanie oparte na wiedzy technicznej. To pytanie dobrze pasuje do formatu SO i powinno pozostać otwarte.
NeilG
Odpowiedzi:
134
Edytować:-
Uwaga, vim-airline zyskuje na popularności jako nowa opcja vimscript, ponieważ powerline przeszło na Pythona.
Wygląda na to, że w dzisiejszych czasach jest tam powerline : -
Normalna linia stanu
Dostosowane linie statusu dla innych wtyczek (np. Ctrlp )
@Gavin jak mogę zmienić segmenty linii energetycznej? czy możesz zaktualizować niektóre domyślne skrypty modyfikujące segmenty? okrzyki
Jerry Gao
@Gavin Ja również byłbym wdzięczny, gdybyś mógł podzielić się tym, jak włączyłeś takie rzeczy jak twój oddział do vim-powerline
Eric Hu
1
Nic specjalnego nie zrobiono, z: github.com/Lokaltog/vim-powerline#troubleshooting po prostu upewnij się, że masz w pliku vimrc "let g: Powerline_symbols = 'fantazyjne'" i masz zainstalowane załatane czcionki.
Gavin Gilmour,
to jest fajna wtyczka. Ale moja wydajność przewijania po pierwszym otwarciu pliku jest z tego powodu bardzo niska.
Ahmed Aeon Axan
2
@AhmedAeonAxan wypróbuj linie lotnicze, zaczyna się szybko (czysty vimscript). A konfiguracja wymaga znacznie mniej wysiłku, zwłaszcza w przypadku Vundle lub Pathogen. Po zainstalowaniu czcionki Powerline będzie ona mniej więcej przypominać linie lotnicze. github.com/Lokaltog/powerline-fonts
snowbound
60
To moje:
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
A oto kolory, których użyłem:
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 jest właściwie liczbą bajtów, nawet jeśli czasami nazywa się to liczbą kolumn, nawet w pomocy vima. Możesz użyć v, aby uzyskać, co zwykle oznacza numer kolumny.
Ludwig Weinzierl,
Dzięki @Ludwig, nie zauważyłem tego. Zmienię odpowiedź.
Tassos,
8
Uwielbiam przejrzystość komentowania każdej dodanej wartości w jej własnym wierszu. Gdybym zrobił to 7 lat temu, nie wyrzuciłbym tego podczas ostatniej czystej instalacji systemu operacyjnego.
Bruno Bronosky
Słodko! Jedną rzeczą, której mi brakuje, jest linia oddzielająca podzieloną sesję
Julio Marins
1
@trusktr Zauważ, że guifgi guibgsą dla gvim. Jeśli używasz vimw terminalu, spróbuj ctermfgi ctermbgzamiast. Będziesz także potrzebował różnych kolorów, liczb 1-16 lub 1-256, w zależności od tego, ile kolorów włączyłeś w vimie. Odpowiednie kolory dla każdego numeru.
joelostblom
46
To jest ten, którego używam:
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
Fajnie, to pozwala uniknąć konieczności posiadania wymyślnych wtyczek linii statusu przynajmniej dla mojego przypadku użycia, cukierek dla oczu :)
Nishant
1
Jak sprawić, by kolory działały?
trusktr
Próbowałem umieścić to po ustawieniu dowolnego colorscheme, ale widzę tylko dwukolorową linię statusu.
trusktr
@trusktr, Niełatwe do wyjaśnienia ... Musisz umieścić pierwsze 2 bloki w pliku vimrc i blok kolorów w bieżącym pliku colorscheme. Możesz znaleźć swój bieżący plik schematu kolorów za pomocą tego polecenia::colorscheme
Reman
1
Twoje wyszukiwanie podświetlenia byłoby krótsze (bez żadnej funkcji) po prostu przy użyciu operatora trójskładnikowego, takiego jak ten -> echo &hls ? 'H' : '' w moim przypadku:let &stl.="%6*%01(%{&hls?'H':''}%)%0* "
SergioAraujo
20
Co znalazłem użyteczne jest, aby wiedzieć, które kopiuj / wklej bufora (rejestr) jest aktualnie aktywny %{v:register}. W przeciwnym razie moja pełna linia statusu wygląda prawie dokładnie tak, jak standardowa linia.
Ojej, v:registerwygląda to naprawdę bardzo przydatne!
nperson325681,
Co to znaczy, że rejestr jest aktywny? Moje (złe) zrozumienie rejestrów jest takie, że były one w zasadzie schowkami do przechowywania tekstu.
Roymunson,
15
Czasami mniej znaczy więcej, czy naprawdę musisz znać procent z pliku, którym jesteś podczas kodowania? A co z typem pliku?
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()}
Wolę też minimalny kolor, aby nie odwracać uwagi od kodu.
set laststatus=2
set statusline=\ %f%m%r%h%w\ %=%({%{&ff}\|%{(&fenc==\"\"?&enc:&fenc).((exists(\"+bomb\")\ &&\ &bomb)?\",B\":\"\")}%k\|%Y}%)\ %([%l,%v][%p%%]\ %)
Odpowiedzi:
Wygląda na to, że w dzisiejszych czasach jest tam powerline : -
Normalna linia stanu
Dostosowane linie statusu dla innych wtyczek (np. Ctrlp )
źródło
To moje:
A oto kolory, których użyłem:
źródło
guifg
iguibg
są dlagvim
. Jeśli używaszvim
w terminalu, spróbujctermfg
ictermbg
zamiast. Będziesz także potrzebował różnych kolorów, liczb 1-16 lub 1-256, w zależności od tego, ile kolorów włączyłeś w vimie. Odpowiednie kolory dla każdego numeru.To jest ten, którego używam:
Podkreślić? funkcjonować:
Kolory (na podstawie ligh2011.vim):
źródło
colorscheme
, ale widzę tylko dwukolorową linię statusu.:colorscheme
echo &hls ? 'H' : ''
w moim przypadku:let &stl.="%6*%01(%{&hls?'H':''}%)%0* "
Co znalazłem użyteczne jest, aby wiedzieć, które kopiuj / wklej bufora (rejestr) jest aktualnie aktywny
%{v:register}
. W przeciwnym razie moja pełna linia statusu wygląda prawie dokładnie tak, jak standardowa linia.źródło
v:register
wygląda to naprawdę bardzo przydatne!Czasami mniej znaczy więcej, czy naprawdę musisz znać procent z pliku, którym jesteś podczas kodowania? A co z typem pliku?
Wolę też minimalny kolor, aby nie odwracać uwagi od kodu.
Zaczerpnięte z: https://github.com/krisleech/vimfiles
Uwaga:
rvm#statusline
jest specyficzny dla Rubiego ifugitive#statusline
specyficzny dla gita.źródło
Obecnie używam tych ustawień paska stanu:
Mój kompletny plik .vimrc: http://gabriev82.altervista.org/projects/vim-configuration/
źródło
set statusline=%<%f%m\ \[%{&ff}:%{&fenc}:%Y]\ %{getcwd()}\ \ \[%{strftime('%Y/%b/%d\ %a\ %I:%M\ %p')}\]\ %=\ Line:%l\/%L\ Column:%c%V\ %P
To jest moje, podaj jako sugestię
źródło