Long line wrapping en nano

66

Al editar un archivo authorised_keys en Nano, quiero ajustar líneas largas para que pueda ver el final de las líneas (es decir, decir de quién es la clave). Esencialmente quiero que se vea como la salida decat authorised_keys

Entonces, presioné Esc + Lcuál es la meta clave para habilitar el ajuste de línea larga en mi plataforma y veo el mensaje que dice que el ajuste de línea larga se ha habilitado pero las líneas no se ajustan como esperaba.

Estoy usando Terminal en OSX 10.8.5

codecowboy
fuente

Respuestas:

89

Para ver el estilo de ajuste de palabras que describió, use el "ajuste suave" de nano: Esc+ $.

El comando Esc+ Lque intentaste (y todos) hace un "ajuste duro".

Nota sobre la notación de pulsación de teclas : si eres nuevo en Linux, la notación Esc+ $significa presionar y soltar Escy luego presionar $. La secuencia de pulsación de tecla es completa, entonces Esc, Shift+4.

(No , no significa mantener pulsada de escape mientras se presiona $).

Fuente: https://www.nano-editor.org/dist/v2.9/nano.html (busque --softwrap)


Nota sobre errores de software y formato : si es nuevo en nano, tenga cuidado con el software. Si está editando un archivo de configuración u otra cosa que sea sensible a las nuevas líneas o sangría, se pueden cometer errores de formato. Hasta que se sienta cómodo con los comportamientos de la aplicación de software, sugiero que realice una comprobación rápida con la aplicación de software desactivada (vuelva a hacer la secuencia de teclas) antes de guardar.

Observe la bondad proporcionada por otros en sus respuestas a continuación , porque los diferentes sistemas operativos y las diferentes versiones de nano hacen las cosas de manera un poco diferente:

  • Si te gusta el software todo el tiempo, configúralo en tu .nanorc, como se describe en la respuesta de x0a a continuación , ya que es un poco más complejo que el de Prashant.
  • Si tiene una Raspberry Pi, tenga en cuenta la respuesta de chainsawmascara sobre la necesidad de una pulsación de tecla adicional para que el software se aplique.
  • Si tiene una Mac, como la respuesta de lodeOfCode a continuación , siempre puede actualizar nano y aquí , ¡y así disfrutar del cálido brillo del softwrap!

coreyt
fuente
3
Este fue mi mayor motivo favorito en nano. Gracias por solucionar esto.
user208145
1
Recomendaría habilitar los números de línea Alt + Shift + 3o set linenumbersen el ~/.nanorcarchivo de configuración.
Daniel Sokolowski
1
Tenga en cuenta que la versión anterior de nano no incluye esta función de ajuste suave. En la versión 2.0.9 no está incluido, pero en la versión 2.5.3 sí. Si tiene una versión que no tiene esta función, le dará un mensaje de advertencia de "Comando desconocido" en la parte inferior central del área de edición de texto.
frederickjh
15

¡Estoy leyendo las respuestas aquí y necesito aclarar esto!

Nano admite dos formas diferentes de ajuste de línea, ¡y puede ser esencial saber la diferencia!

Primero, la tecla Meta a continuación es a menudo la tecla Alt, pero no necesariamente.

  • El ajuste de línea suave se activa con Meta- $. Ajusta las líneas sin insertar caracteres de salto de línea en el archivo. Es decir, el efecto es puramente visual.
  • El ajuste de línea dura se activa con Meta- L. Envolturas líneas de insertar saltos de línea en el archivo. El archivo ha cambiado físicamente.

Por lo tanto, si lo activa en un archivo donde las envolturas son significativas (archivos de configuración, lenguajes de programación, scripts), básicamente nunca querrá las envolturas de línea dura o cambiará el significado del código.

Además, habría encontrado estos accesos directos con ^ G (es decir, Ctrl- G) en Nano.

Jonas
fuente
55
Meta $= Alt+ Shift+4
JamesTheAwesomeDude
1
El ajuste suave está habilitado en nanorc con set softwrap, mientras que el ajuste duro está deshabilitado en nanorc con set nowrap.
mwfearnley
14

Acabo de buscar el ajuste de la línea nano y esto obtuvo altos resultados, así que publicaré mis hallazgos para GNU nano 2.2.6 en Raspberry Pi, Raspbian GNU / Linux 7: Esc+ Lme dio el mismo mensaje; pero para que el ajuste de línea surta efecto, tuve que modificar la línea. Tan pronto como escribí otro personaje en la línea larga, la envoltura comenzó.

motosierra
fuente
7

Abra el nanorc generalmente en ~ / .nanorc o / etc / nanorc, comente la línea

set nowrap

Y línea de comentario

set softwrap
Prashant Shubham
fuente
1
En pfSense (y posiblemente FreeBSD en general), el archivo necesario es / usr / local / etc / nanorc. De find / -type d -name etclo contrario , creo que encontrará otras ubicaciones posibles.
mwfearnley
5

Establecer un alias corto para su nano editor también funciona bien. Normalmente uso:

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

(Configúrelos en ~/.bashrc(o .bash_aliasesen algunos sistemas) o en su inicio de shell favorito)

Banderas / Opciones utilizadas:

\$= Habilitar el ajuste suave de las líneas ( escapado usando la barra invertida)
c = Mostrar la posición constante del cursor (en la parte inferior)
w = Desactivar cualquier 'ajuste duro'
S = Desplazamiento suave

Y (como ya se mencionó) una vez en el editor, use Esc, $para activar / desactivar el ajuste suave.

bshea
fuente
3

Puede establecer los valores predeterminados en ~/.nanorc. Pero tenga en cuenta que los ajustes de configuración para nano 1, nano 2 y nano 3 son diferentes.

En nano 1 , solo tiene la set nowrapconfiguración que deshabilita todo el ajuste .

En nano 2 , set softwrapse agregó, lo que permite el ajuste suave y desactiva el ajuste duro. set nowrapse cambió para que solo desactive la envoltura

En nano 3 , set softwrapse ignora y nano continúa envolviendo a menos que usted también set nowrap.

Entonces, si desea un ajuste de texto para líneas largas que no rompa sus archivos de configuración (solo ajuste de software), esto funciona para las versiones 2 y 3 : agregue las siguientes 2 líneas a~/.nanorc

set nowrap
set softwrap
x0a
fuente
Esta es una respuesta reflexiva también, y la estoy haciendo referencia a mi respuesta anterior.
coreyt
2

Se debe advertir a los usuarios de Mac que la versión de Nano incluida con High Sierra (v2.0.6) o anterior no admite el ajuste de línea suave como se describe aquí. Obtendrá un error de comando desconocido. v2.2 es la primera versión con mención de soft wrap en las páginas man. Así que no pase una hora probando todas estas soluciones como lo hice yo.

Esc + L funciona como se esperaba.

lodeOfCode
fuente