Jak napisać spację, która nie pęka? [Zamknięte]

14

Niektóre programy do edycji tekstu mają menu do wprowadzania znaków specjalnych, w tym spacji niełamliwych. Możliwe jest również skopiowanie znaku utworzonego w edytorze tekstu i wklejenie go w inne miejsca, takie jak terminal lub pole tekstowe strony internetowej. Jednak niewygodne jest używanie programu do edycji tekstu w celu wygenerowania nieprzerwanej przestrzeni.

Jak mogę bezpośrednio korzystać z klawiatury, aby wprowadzić niełamliwe miejsce?

greg0ire
źródło
W czym? Strona internetowa, terminal ...?
jasonwryan
5
To pytanie wydaje się nie na temat, ponieważ dotyczy wprowadzania tekstu na stronach internetowych ...
jasonwryan
1
Więc ? Czy w terminalu byłoby inaczej? A BTW, czy nie byłoby inaczej na innych systemach operacyjnych?
greg0ire,
1
@jasonwryan Czy po przeczytaniu obu odpowiedzi nadal wydaje ci się to nie na temat?
greg0ire,
1
Muszę się zgodzić z @ greg0ire: powód, dla którego potrzebuje niezniszczalnej przestrzeni, nie jest tak istotny, ale dotyczy wprowadzania danych z klawiatury.
Demurgos,

Odpowiedzi:

13

Pewnego razu powiedziałem mojej wróżce Debian, że chcę composezamiast tego, caps locka pisanie compose space spacedaje mi teraz super solidną niezniszczalną przestrzeń:

komponować przestrzeń kosmiczną! komponować przestrzeń kosmiczną! komponować przestrzeń kosmiczną! komponować przestrzeń kosmiczną! komponować przestrzeń kosmiczną! komponować przestrzeń kosmiczną! komponować przestrzeń kosmiczną! komponować przestrzeń kosmiczną!

Dla debianish systemów zajrzeć do /etc/default/keyboard, mam następujący assigment tam: XKBOPTIONS="compose:caps".

Alternatywnie, jeśli używasz KDE, zakładka „zaawansowane” kcmshell4 kcm_keyboardpolecenia pozwala skonfigurować klucz, który ma być mapowany.

To ustawienie wpływa również na terminale tekstowe ... przynajmniej w Debianie ...

greg0ire
źródło
1
Nie działało to dla mnie, prawdopodobnie dlatego, że muszę zrestartować sesję, ale obejście, które edytowałem w twoim pytaniu, pozwala mi korzystać z komponowania i compose space spacedziała! Wielkie dzięki!
greg0ire,
7

Wypróbuj Shift-space. Jeśli to nie działa z twoją konfiguracją, możesz ją zmodyfikować, określając

key <SPCE> { [ space, nobreakspace ] };

w ustawieniach symboli XKB.

Moje wyjaśnienia na temat zmiany ustawień XKB .

Zauważ też, że aplikacje nie powinny przerywać linii w pewnych warunkach, takich jak przed znakiem zapytania, nawet po normalnej spacji (jak opisano w algorytmie łamania linii Unicode ), aby przestrzeń nie przerywająca mogła być niepotrzebna; niestety większość aplikacji nie stosuje tego zachowania. Nieprzerwana spacja U + 00A0 jest po prostu wyraźną spacją niełamującą; nie oznacza to, że normalny znak spacji zawsze się łamie.

vinc17
źródło
Wygląda nieźle, nie spróbuję tego teraz, ale +1
greg0ire
Nie powinno być potrzeby tworzenia niestandardowego mapowania <SPCE>. Setxkbmap ma kilka opcji tworzenia spacji bez łamania za pomocą spacji. Na przykład, non-breaking space on Shift+Spacena standardowym USA układ: setxkbmap -option nbsp:level2 us.
Guildenstern