Używam fińskiego układu klawiatury, który odwzorowuje AltGr+ Spacena niezniszczalną przestrzeń (NBSP, U + 00A0). Ogólnie jestem z tego zadowolony, ale okazuje się, że często przypadkowo piszę NBSP zamiast normalnej spacji po potoku „ |
” (napisany za pomocą AltGr+ <z fińskim układem klawiatury) podczas korzystania z linii poleceń bash. Myślę, że jest to spowodowane faktem, że muszę przytrzymać AltGrpodczas pisania fajki i zwolnić ją przed uderzeniem w spację. A kiedy mam zły czas na wydanie, AltGrkończę z niewidoczną literówką w wierszu poleceń i komunikatami o błędach, takimi jak
grep: command not found
który wygląda dość podobnie do
grep: command not found
co sprawia, że problem ten jest nieco trudny do zauważenia za pierwszym razem.
Wiem, że mogę wyłączyć NBSP, ale wolałbym go wyłączyć (mając AltGr+, Spaceaby utworzyć zwykłe miejsce) tylko po znaku potoku, a jeśli nie jest to możliwe, zawsze w wierszu poleceń lub na readline
poziomie bash . Czy jest jakiś prosty sposób, aby to zrobić bez modyfikowania kodu źródłowego bash readline
lub emulatora terminala ( gnome-terminal
)?
Innym dobrym rozwiązaniem byłoby skonfigurowanie NBSP, aby było jakoś widoczne w wierszu poleceń, np. Zastąpione innym znakiem (powiedzmy U + 2423 ␣
) tylko do renderowania.
" ":␣
wystarczy? Co jeszcze potrzebujesz?
echo a␣b
ale wynikowa linia wyjściowa była echo a b
z prawdziwym NBSP w danych wyjściowych. W związku z tym myślę, że należy to zrobić na poziomie odczytu (tzn. Edytor wiersza poleceń zawsze wyświetla widoczny znak, ale emulator terminala nie może rozpoznać różnicy między wyświetlaniem edytora a wyświetlaniem danych wyjściowych, a zatem emulator terminala nie może dokonać wizualnej zamiany renderowania ).