2012-03-22 11 views
30

Używam Mac OS X Lion, Terminal.app i Tmux w wersji 1.6. Dostaję przerywaną linię jako obramowanie okna zamiast ciągłej linii, którą otrzymuję, gdy ssh do wirtualnej maszyny Debiana na tym samym komputerze przy użyciu tego samego terminala. Jak zmienić linię przerywaną na linię ciągłą?Granice Tmux są rysowane liniami przerywanymi; jak mogę zmienić je na ciągłe linie?

+1

Mam ten sam problem z iTerm2 i tmuxem 1.6. W Terminal.app jednak separator szyb jest solidny i nie jest przerywany. Znalazłeś rozwiązanie? –

+0

Znalazłem trochę więcej informacji, ale wciąż nie ma rozwiązania. Myślę, że problem jest w rzeczywistości "cechą", jak opisano w dzienniku zmian dla Tmux 1.4: "Użyj znaków rysowania UTF-8 na terminalach UTF-8, tym samym naprawiając niektóre terminale (np. Kit), które wyłączają tryb ACS vt100 przełączanie sekwencji w trybie UTF-8 Na terminalach bez ACS należy używać odpowiedników ASCII. " Zobacz także http://stackoverflow.com/questions/8483798/tmux-borders-displayed-as-x-q-instead-of-lines –

Odpowiedz

30

Znalazłem źródło problemu. To jest czcionka. Używałem Monaco i wyświetla pionowe kreski w taki sposób, że pionowy separator szyb jest przerywany. Z Menlo jest jednak solidny.

+0

Dobre znalezisko. Szkoda, że ​​wygładzanie nie może być wyłączone dla Menlo: http://stackoverflow.com/a/10072765/705157. Jednak użycie fontu xterm '' 6x13.dfont' z http://stackoverflow.com/a/2764467/705157 wydaje się być przyzwoitym nie-aliasowym zamiennikiem Monako. –

23

Miałem podobny problem, używając iTerm na Macu, aby zalogować się do redhat. Nagle linie pionowe się nie pokazały, a poziome zostały przerywane.

Naprawiłem problem odznaczając "Treat ambiguous-width characters as double width" w iTerm->Preferences->Profiles->Text

+0

Naprawiono to dla mnie, a także naprawiłem problem polegający na tym, że poziome krawędzie boków w aplikacjach ncurses były rysowane podwójną szerokością, zakłócając cały układ. Zmiana na Menlo z Monako również pomogła. –

+0

WHOA! Byłem jak 4 miesiące i nie mogłem naprawić tego problemu dopóki nie zobaczyłem twojej odpowiedzi – deadlock

+0

Naprawiono problem, który miałem z uzyskaniem tmuxline, aby wyświetlać poprawnie. – stevvooe

10

Faktycznie, niektóre czcionki lubisz zawierają tylko niewielką liczbę glifów wyświetlać zwykłe znaki, ale nie zawierają glify dla innych znaków Unicode, na przykład U + 2502 , który jest używany przez tmux jako pionowa linia podziału. Dlatego system zazwyczaj domyślnie przyjmuje czcionkę zastępczą, jednak niestety ta zastępcza czcionka nie zawiera glifów odpowiednich do rysowania linii ciągłej.

Jednym z możliwych rozwiązań jest użycie terminali obsługujących wybór czcionki zastępczej, takiej jak iTerm2, a następnie wybieranie Menlo, jak wspomniano jako czcionka inna niż ascii i używanie oryginalnej czcionki w tym samym czasie.

Inne rozwiązanie wymaga trochę więcej pracy, użyj fontforge lub innych edytorów czcionek, aby załatać brakujące glify używając tych z poprawnie wyświetlanej czcionki, np. Menlo. Tu jest link do tego, co mam zrobić, łatanie Inconsolata dla Powerline za pomocą glifów z Menlo: https://github.com/Determinant/inconsolata_for_powerline_mod

+0

Jesteś świętym. Dzięki za zrobienie tego! –

4

późno do partii, ale może być przydatny:

  • wybrać inną czcionkę dla znaków spoza ASCII
  • Zmniejsz odstępy w pionie, aż separatory pionowe zostaną połączone w jedną linię.
Powiązane problemy