Jak mogę zmienić monit, aby uwzględnić znaki rysunku w formacie Unicode?


4

Jak mogę dostać $PS1 zawierające znaki rysunkowe?

Używam bash, jeśli to robi różnicę.


... Przypuszczam, że Archer jest nazwą maszyny?
Arjan

Może być, ale nie jestem zbyt zainteresowany tą częścią. Interesują mnie przede wszystkim postacie po lewej: dziwne paski i postać kwadratowa.
Wuffers

Zrzut ekranu zniknął. Tytuł postu należy zmienić i wspomnieć o rysunkach bex-drawing lub geometrycznych kształtach. W każdym razie słowo „zrzut ekranu” w tytule to zły pomysł.
Ludovic Kuty

Odpowiedzi:


9

Jeśli masz edytor z obsługą UTF-8, możesz wpisać Znaki rysunkowe w Unicode i figury geometryczne bezpośrednio. Coś jak:

PS1='┌─[blah][blah]
└─▪ '

Napisz to do pliku za pomocą edytora, a następnie skieruj plik do swojej sesji bash source ./myfile. Gdy będziesz gotowy, aby go zachować, dodaj go do pliku .bashrc.

Innym, starszym sposobem jest użycie kodów ucieczki VT100, aby przełączyć się na zestaw znaków rysunkowych terminala. W tym przypadku linia PS1 wygląda tak:

PS1='\[\e(0\]lq\[\e(B\][blah][blah]
\[\e[0\]mq~\[\e(B\] '

The \[ i \] powiedz bashowi, że te części podpowiedzi nie są drukowane, co pomaga wiedzieć, gdzie znajduje się kursor podczas edycji linii poleceń. The \e(0 przełącza na zestaw znaków rysowania linii i \e(B przełącza się z powrotem. W trybie rysowania linii:

  • l jest ┌
  • q oznacza ─
  • m to └
  • ~ to ▪

Możesz zbudować pełną listę, uruchamiając takie rzeczy printf '\e(0 qwertyuiop \e(B \n' w wierszu polecenia bash.


Idealny! Po prostu skopiowałem i wkleiłem postacie i działa to jak urok! Dzięki!
Wuffers

to jest taka mile widziana informacja. Zapomniałem, jak to nazwano i polowałem od tygodni! nie zapomnę ponownie! Dziękuję Ci!
WhiteRau

0

Oto bardzo ładne próbkowanie różnych PS1:

Tą, którą chcesz, jest to:

Będziesz musiał to trochę zmienić, ale elementy są. Proponuję zajrzeć tutaj, aby uzyskać więcej informacji:


Z jakiegoś powodu nie mogę uruchomić zegara PS13. Próbowałem dokładnie skopiować i wkleić kod, który w ogóle nie działał. Używam Terminal.app na Mac OS X z kodowaniem UTF-8.
Wuffers

@Pan. Mężczyzna: Czy pobrałeś plik lub uruchomiłeś go? Musisz go pozyskać.
Dennis Williamson

Dostałem plik. Kiedy to zrobiłem, dał mi garść śmieci.
Wuffers

Powodem tego nie działa to, że korzysta z rozszerzonego zestawu znaków IBM BIOS z dni DOS, który jest obsługiwany przez konsolę trybu tekstowego w systemie Linux, ale nie przez xterm lub Terminal lub większość innych emulatorów terminali.
Jander

@Jander Dzięki za wyjaśnienie i oczywiście za odpowiedź na pytanie pana Man!
icyrock.com
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.