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.