Zawijanie długich linii w Nano

65

Podczas edycji pliku Authorised_keys w Nano chcę owinąć długie linie, aby zobaczyć koniec linii (tzn. Powiedzieć, czyj to klucz). Zasadniczo chcę, aby wyglądało to jak wyjściecat authorised_keys

Nacisnąłem więc, Esc + Lktóry jest meta-kluczem umożliwiającym zawijanie długich linii na mojej platformie i widzę komunikat, że zawijanie długich linii zostało włączone, ale linie nie zawijają się zgodnie z oczekiwaniami.

Używam terminalu w OSX 10.8.5

codecowboy
źródło

Odpowiedzi:

88

Aby zobaczyć opisany styl owijania wyrazów, użyj „miękkiego owijania” nano: Esc+ $.

Polecenie Esc+, Lktóre wypróbowałeś (i wszyscy), wykonuje „twarde zawijanie”.

Uwaga dotycząca notacji klawiszy - jeśli jesteś nowy w systemie Linux, notacja Esc+ $oznacza naciśnij i zwolnij, Esca następnie naciśnij $. Pełna sekwencja naciśnij klawisz jest wtedy Esc, Shift+4.

(To nie nie znaczy przytrzymać ucieczkę podczas naciskania $).

Źródło: https://www.nano-editor.org/dist/v2.9/nano.html (wyszukaj --softwrap)


Uwaga na temat oprogramowania i błędów formatowania - jeśli dopiero zaczynasz korzystać z nano, zachowaj ostrożność. Jeśli edytujesz plik konfiguracyjny lub coś innego, co jest wrażliwe na znaki nowej linii lub wcięcia, możesz popełnić błędy formatowania. Dopóki nie zaznajomisz się z zachowaniami oprogramowania, sugeruję szybkie sprawdzenie przy wyłączonym oprogramowaniu (powtórz sekwencję klawiszy) przed zapisaniem.

Zwróć uwagę na dobroć zapewnioną przez innych w ich odpowiedziach poniżej - ponieważ różne systemy operacyjne i różne wersje nano robią to trochę inaczej:

coreyt
źródło
3
To była moja największa wkurza w nano. Dzięki za załatwienie tego.
user208145,
1
Polecam umożliwiając numery linii Alt + Shift + 3lub set linenumbersw ~/.nanorcpliku ustawień.
Daniel Sokołowski
1
Pamiętaj, że starsza wersja nano nie zawiera tej funkcji miękkiego zawijania. W wersji 2.0.9 nie jest uwzględniona, ale w wersji 2.5.3 jest. Jeśli korzystasz z wersji, która nie ma tej funkcji, wyświetli komunikat ostrzegawczy „Nieznane polecenie” w dolnej środkowej części pola edycji tekstu.
frederickjh
15

Czytam tutaj odpowiedzi i muszę to wyjaśnić!

Nano obsługuje dwie różne formy zawijania linii, a znajomość różnicy może być niezbędna!

Po pierwsze, poniższy klawisz Meta jest często klawiszem Alt, ale niekoniecznie.

  • Funkcja owijania miękkiej linii jest aktywowana za pomocą Meta- $. Zawija linie bez wstawiania do pliku znaków podziału linii. Oznacza to, że efekt jest czysto wizualny.
  • Zwijanie linii jest aktywowane za pomocą Meta- L. Linie okłady przez wstawienie linii włamuje się do tego pliku. Plik jest fizycznie zmieniony.

Więc jeśli aktywujesz go w pliku, w którym zawijanie ma znaczenie (pliki konfiguracyjne, języki programowania, skrypty), w zasadzie nigdy nie chcesz sztywnych zawijania linii lub zmieni to znaczenie kodu.

Te skróty można również znaleźć za pomocą ^ G (tj. Ctrl- G) w Nano.

Jonas
źródło
5
Meta $= Alt+ Shift+4
JamesTheAwesomeDude
1
Miękkie owijanie jest włączone w nanorku z set softwrap, podczas gdy twarde owijanie jest wyłączone w nanorku z set nowrap.
mwfearnley
14

Właśnie szukałem zawijania linii nano, co przyniosło wysokie wyniki, więc opublikuję moje wyniki dla GNU nano 2.2.6 na Raspberry Pi, Raspbian GNU / Linux 7: Esc+ Ldał mi ten sam komunikat; ale aby zawijanie linii zaczęło obowiązywać, musiałem zmodyfikować linię. Gdy tylko wpisałem inną postać na długiej linii, zaczęło się owijanie.

piła łańcuchowa
źródło
6

Otwórz nanorc ogólnie w ~ / .nanorc lub / etc / nanorc, skomentuj linię

set nowrap

I linia komentowania

set softwrap
Prashant Shubham
źródło
1
W przypadku pfSense (i prawdopodobnie bardziej ogólnie FreeBSD) potrzebny jest plik / usr / local / etc / nanorc. W przeciwnym razie find / -type d -name etcznajdę inne możliwe lokalizacje.
mwfearnley
5

Ustawienie krótkiego aliasu dla edytora nano również działa dobrze. Zwykle używam:

 alias  e='nano -\$cwS'
 alias se='sudo nano -\$cwS'

(Ustaw je w ~/.bashrc(lub .bash_aliasesw niektórych systemach) lub w swoim ulubionym starcie powłoki)

Zastosowane flagi / opcje:

\$= Włącz miękkiego opakowania linii ( uciec pomocą ukośnika odwrotnego)
c = Wyświetl stałego położenia kursora (na dole)
w = Wyłącz ciężkiej pakowanie "
S = Płynne przewijanie

I (jak już wspomniano) raz w edytorze, użyj Esc, $aby włączyć / wyłączyć miękkie owijanie.

bshea
źródło
3

Możesz ustawić wartości domyślne w ~/.nanorc. Pamiętaj jednak, że ustawienia konfiguracji dla nano 1, nano 2 i nano 3 są różne.

Na nano 1 masz tylko set nowrapustawienie, które wyłącza wszystkie zawijanie.

Na nano 2 , set softwrapdodano, która umożliwia softwrapping i wyłącza hardwrapping. set nowrapzostał zmieniony, tak że wyłącza tylko zawijanie na stałe

Na nano 3 , set softwrapjest ignorowane i nano nadal hardwrap chyba też set nowrap.

Jeśli więc chcesz zawijać tekst w długich liniach, które nie psują plików konfiguracyjnych (tylko softwrapping), działa to w wersjach 2 i 3 : Dodaj następujące 2 linie do~/.nanorc

set nowrap
set softwrap
x0a
źródło
Jest to również przemyślana odpowiedź i odwołuję się do niej z powyższej odpowiedzi.
coreyt
2

Użytkownicy komputerów Mac powinni zostać poinformowani, że wersja Nano dostarczana z High Sierra (wersja 2.0.6) lub wcześniejsza nie obsługuje zawijania linii miękkich, jak opisano tutaj. Otrzymasz nieznany błąd polecenia. v2.2 to najwcześniejsza wersja ze wzmianką o miękkim zawijaniu na stronach podręcznika. Więc nie spędzaj godziny na wypróbowywaniu wszystkich tych rozwiązań, tak jak ja.

Esc + L działa zgodnie z oczekiwaniami.

lodeOfCode
źródło