Me gusta que las líneas largas se muestren en más de una línea terminal; No me gusta que vim inserte nuevas líneas en mi texto real. ¿Qué parte de .vimrc debería cambiar?
Me gusta que las líneas largas se muestren en más de una línea terminal; No me gusta que vim inserte nuevas líneas en mi texto real. ¿Qué parte de .vimrc debería cambiar?
Respuestas:
Utilizar
:set wrap
Para ajustar las líneas visualmente, es decir, la línea sigue siendo una línea de texto, pero Vim la muestra en varias líneas.
Utilizar
:set nowrap
Para mostrar líneas largas como una sola línea (es decir, debe desplazarse horizontalmente para ver la línea completa).
Me gusta que las líneas largas se muestren en más de una línea de terminal.
Este tipo de ajuste de línea visual / virtual se habilita con la wrapopción de ventana:
set wrap
No me gusta que vim inserte nuevas líneas en mi texto real.
Para desactivar el ajuste de línea física, desactive las opciones de búfer textwidthy wrapmargin:
set textwidth=0 wrapmargin=0
set textwidth=0 wrapmargin=0funciona pero si lo pongo .vimrc, no tiene un efecto, por ejemplo, para archivos de texto sin formato. ¿Cómo descubro y elimino la sobrescritura?
:verbose set textwidth? wrapmargin?. Esto le dirá sus valores actuales y también dónde se establecieron. Es posible que tenga un complemento que los anula. En ese caso, puede desinstalar ese complemento o intentar anular la configuración del complemento más adelante en su runtimepath (por ejemplo:) ~/.vim/aftero con su propio autocomando. El enfoque correcto dependerá de dónde / cómo se restablezca.
set wrapy set linebreakes lo que hizo por mí
No estoy seguro de entender por completo, pero es posible que esté buscando la configuración de 'formatoptions'. Intenta algo como :set formatoptions-=t. La topción insertará saltos de línea para hacer que el texto se ajuste al ancho establecido por textwidth. También puede poner este comando en su .vimrc, simplemente elimine los dos puntos ( :).
tw.
Uso :set nowrap... funciona como un encanto!
:set tw=0
VIM no insertará automáticamente saltos de línea, pero mantendrá el ajuste de línea.
Puede que te resulte set lbrútil; con set wrapesto se ajustará pero solo se cortará la línea en el espacio en blanco y no en el medio de una palabra.
p.ej
without lbr the li
ne can be split on
a word
y
with lbr on the
line will be
split on
whitespace only
set nolinebreaklugar deset lbr
set formatoptions-=t Mantiene el ancho de texto visual pero no agrega una nueva línea en el modo de inserción.
Es extraño que un entorno tan simple requiera esta cantidad de 'hocus-pocus' para funcionar.
Para responder a su pregunta ahora, para mí parecía funcionar con la combinación de lo siguiente:
:set wrap linebreak nolist
(Esto parece evitar que las líneas existentes se rompan, solo ajuste).
Y
set formatoptions=l
(esto evita que las líneas nuevas / editadas se rompan, mientras que + = no lo hace por mí, ya que otras configuraciones / complementos parecen encontrar espacio y agregar sus propias opciones que anulan las mías).
Si, como yo, está ejecutando gVim en Windows, entonces su archivo .vimrc puede estar obteniendo otro archivo Vimscript 'de ejemplo' que se configura automáticamente textwidth(en mi caso, para 78) archivos de texto.
Mi respuesta a una pregunta similar a esta: cómo detener el texto de ajuste de gVim en la columna 80 , en el sitio Vi y Vim Stack Exchange :
En mi caso, el comentario de Vitor sugirió que ejecutara lo siguiente:
:verbose set tw?Hacerlo me dio el siguiente resultado:
textwidth=78 Last set from C:\Program Files (x86)\Vim\vim74\vimrc_example.vimEn vimrc_example.vim , encontré las líneas relevantes:
" Only do this part when compiled with support for autocommands. if has("autocmd") ... " For all text files set 'textwidth' to 78 characters. autocmd FileType text setlocal textwidth=78 ...Y descubrí que mi .vimrc está buscando ese archivo:
source $VIMRUNTIME/vimrc_example.vimEn mi caso, no quiero
textwidthconfigurar ningún archivo, así que solo comenté la línea relevante en vimrc_example.vim .
autocmd FileType text setlocal textwidth=0al archivo vimrc y eso solucionó el problema cuando otras soluciones propuestas no lo hicieron.
Es correcto que establecer nowrap le permitirá pegar en una línea larga sin vi / vim agregando nuevas líneas, pero luego la línea no se ajusta visualmente para una fácil lectura. En cambio, es solo una línea larga por la que debe desplazarse.
Para que la línea se ajuste visualmente pero no se inserten caracteres de nueva línea, establezca el ajuste (que probablemente sea el predeterminado, por lo que no es necesario establecer) y establezca textwidth = 0 .
En algunos sistemas, la configuración de textwidth = 0 es la predeterminada. Si no encuentra que ese sea el caso, agregue set textwidth = 0 a su archivo .exrc para que se convierta en el valor predeterminado del usuario para todas las sesiones vi / vim.
:set nowrapes lo contrario de lo que quieres :(.