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 readlinepoziomie bash . Czy jest jakiś prosty sposób, aby to zrobić bez modyfikowania kodu źródłowego bash readlinelub 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␣bale wynikowa linia wyjściowa była echo a bz 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 ).