Używam menedżera okien kafelkowych (niesamowite) + terminalnego multipleksera (tmux) + dzieli się w vimie. Nie mam żadnych dekoracji okien, więc nie ma między nimi żadnego wizualnego podziału, jeśli zawartość programu tego nie zdradza. Czuję się całkiem dobrze z tym paradygmatem, ponieważ i tak używam wielu monitorów i grupuję zadania według ekranu. Gdyby dwa okna nie miały powodu być obok siebie, nie byłoby ich w ogóle.
Stwarza to jednak pewien dysonans wizualny, w którym najbardziej oczywisty podział wizualny jest najmniej znaczący semantycznie.
- Okno Xorg ‹|› okno = nic
- Panel Tmux ‹|› panel = linia podziału 1px
- Vim split ‹|› split = kolumna o szerokości 1 znaku
Oto przykład pokazujący po jednej stronie okna, panele i podziały vimów:
Nawet bez przechodzenia do wersji w pełnej rozdzielczości, biała linia podziału, którą widzisz, jest najmniej znaczącym podziałem na ekranie, panelami vim. (Zwróć uwagę, że szara kolumna po prawej stronie sesji vima jest w rzeczywistości podświetleniem 80. kolumny, a nie dzielnikiem, chociaż często pracuję w tym rozmiarze).
Wiem, jak zmienić postać narysowaną w podziale lub zmniejszyć kontrast schematu kolorów. Chciałbym użyć tego samego paska podziału co tmux, który nie zajmuje żadnej szerokości, ponieważ jest rysowany między kolumnami, a nie w jednej. Czy jest to możliwe w przypadku vima opartego na terminalu? Gvim? Neovim? Czy poza rozdzieleniem wizualnie dyskretnego separatora można całkowicie wyłączyć kolumnę dzielącą?
PS Powodem używania wizualnie podobnego separatora jest sens, ponieważ używam tych samych powiązań klawiszy do nawigacji między panelami tmux i podziałami vim. Te same klawisze płynnie nawigują między nimi, miałoby to sens tylko wtedy, gdy wizualne granice byłyby takie same.
hi VertSplit cterm=NONE
ponieważ jestreverse
to domyślnie.Nie, nie można tego zrobić w Vimie i prawdopodobnie byłoby bardzo trudne do wdrożenia w GVIM.
Vim trzyma się adresowania komórkowego opartego na terminalu; w buforze ma to kluczowe znaczenie dla spójnej nawigacji pionowej za pomocą
j
/k
. To adresowanie za pomocą współrzędnych xiy opartych na komórkach jest tak głęboko zakorzenione we wdrożeniu Vima, myślę, że bardzo trudno go pokonać.Uwaga
:help design-not
:źródło
Nawet w moim zrzucie ekranu tmux nie używa żadnej magii, podział jest nadal kolumną o szerokości jednego znaku. Mniej narzucającym się efektem wizualnym jest użycie znaku rysunkowego w Unicode, który jest mniej niezgrabny niż domyślny ASCII w vimie, oraz brak wyróżnionego koloru tła.
Prawie taki sam efekt jest możliwy w vimie poprzez dodanie do pliku rc czegoś takiego jak następujące linie:
Zastosowanie
autocmd
gwarancji, że funkcja podświetlania podświetlenia pozostanie aktywna po zmianie schematu kolorów. Możesz lub nie chcesz tego zachowania, ponieważ niektóre schematy kolorów mają rozsądne wartości dla tej grupy kolorów.Należy również pamiętać, że
cterm=NONE
konieczne jest zastąpienie niektórych schematów kolorów, które ustawiają tę wartośćreverse
, ergo bałagan z dowolnymi wartościami fg / bg, których próbujesz użyć.źródło