Vamos a hablar de medidas relativas. Mi Vim parece:

aaaaaaaaaaaaa 
bbbbbbbbbbbbb 
ccccccccccccc 
etc

Me gustaría ser más pequeño:

aaaaa
aaaaa
bbbbb
bbbbb
ccccc
ccccc
etc

¿Cómo puedo conseguirlo? Y ¿cómo puedo controlar el ajuste de la longitud de un bloque?

  • ¿Te refieres a ajustar el texto, y no la sangría de texto?
  • lc: no sé la diferencia. Iba a escribir envolver como fue recomendado a mí, pero nunca he conseguido que funcione.

5 Comentarios

  1. 173

    Que usted realmente puede hacer dos cosas:

    1. Vamos a vim format (me.e.el cambio) de su texto para tener líneas más cortas, insertando puedes incluir varias líneas
    2. Dejar líneas como son, pero pantalla ellos envuelto

    ¿Qué quiere usted?

    La opción 1 sería logra mediante el establecimiento de textwidth (por ejemplo :set textwidth=30 (de Swaarop la respuesta)). A continuación, puede volver a formatear el texto resaltado (en el modo visual) y escribiendo gq. (textwidth puede ser abreviado como tw, así :set tw=30.)

    La opción 2 se pueden activar o desactivar mediante la ejecución de :set wrap /:set nowrap. Esto va a ajustar líneas que son demasiado largas para la ventana.

    Ambos son independientes.

    • +1 para la revista gq comando de tecla de modo visual, eso es awsomely útil
    • También es útil gq} – formato para el final del párrafo.
    • FYI este se rompe en espacios y gqgq no hace nada para una línea como se muestra en la pregunta, incluso si tw=5.
    • Correcto. Si desea doblar exactamente en el dado de ancho, sin respetar los espacios en blanco, a continuación, utilizar la fold de comandos como en la respuesta de la mgf.
    • Su opción no funciona tal y como yo lo veo. wrap se envuelva en la ventana de la frontera, no en textwidth.
    • Sí, la envoltura se envuelva en la ventana de la frontera. He editado para aclarar.

  2. 60

    Una vez que el set de textwidth», usted puede seleccionar el texto con el modo visual y de prensa de la revista gq para envolver muy bien (también se puede usar Q en algunas personas de edad/configuraciones heredadas).

    Un par de consejos útiles:

    gqq (wrap the current line)
    gq} (wrap this 'paragraph', i.e. until the next blank line)
    :h gq
    
    • +1, que accidentalmente se golpeó en la revista gq, mientras que en vim, han pasado la última media hora tratando de ver qué era lo golpeó. Esto es tan útil.
    • Yo creo que el segundo comando en realidad debería ser gq}.
    • Creo que el primer comando puede ser simplificado a gq$
    • gqq también se ajusta la corriente de línea (en lugar de gqgq o gq$).
  3. 21

    Utilizando veces(1) es una posibilidad:

    :%!fold -w5 
    

    Resultado:

    aaaaa
    aaaaa
    aaa 
    bbbbb
    bbbbb
    bbb 
    ccccc
    ccccc
    ccc
    
    • Esto supone un fold comando está instalado.
    • Esto también no respetar los espacios para el plegado
    • Sí. Respetar los espacios, añada la opción «-s» al redil de comandos.
  4. 14
    :set textwidth=30
    
    • ¿Cómo textwidth manejar la situación cuando no hay espacios, como en el cartel original del ejemplo? He tenido un juego y sólo parece formato basado en textwidth si hay espacios (o supuestamente, si el breakat se establece la variable a otra cosa).
    • no aceptará un no-espacios de la situación. Usted puede escribir su propio formatexpr función para hacer eso.
    • Gracias, voy a echar un vistazo a formatexpr
  5. 8

    Si tiene texto sin espacios que se quiere romper a una longitud determinada, no es necesario el uso externo fold ni escribir su propio formatexpr.

    :%s/\(.\{80\}\)/\1\r/g

    va a romper todas las líneas de 80 caracteres.

    • Esto salvó mi día, mientras que la resurrección de un OpenSSL certificado. Gracias

Dejar respuesta

Please enter your comment!
Please enter your name here