two tab shiftwidth open multiple indent windows vim indentation

windows - tab - Cómo sangrar una selección en gvim(win32)?



vim tab 4 spaces (5)

Necesita cambiar el behave mswin para behave xterm en su archivo vimrc.

Me gustaría aplicar sangría a un bloque de texto .

Puedo hacer esto en la versión de Linux de givm.

Hago esto es el estado de gvim donde no estoy en el insert o el modo visual. La barra en la parte inferior está en blanco a la izquierda y el número de línea, porcentaje, se muestra en el lado derecho.

Luego realizo el siguiente procedimiento : selecciono un bloque de texto haciendo clic y arrastrando. Luego presiono shift +. Después de eso, presiono ESC y el bloque de texto se moverá sobre una pestaña.

Si hago esto en Windows, sin embargo, simplemente reemplaza el bloque con>.

Solo estoy ejecutando el archivo stock win rc y la versión 7.1 de GVIM.


En relación con esto, utilizo una útil reasignación para el modo visual que permite sangrar el texto varias veces mientras se mantiene el texto seleccionado. Similar a cómo visual studio te permite seleccionar y presionar tab (o shift-tab) para sangrar.

Agregue lo siguiente a su .vimrc

" Pressing < or > will let you indent/unident selected lines vnoremap < <gv vnoremap > >gv

También puede usar == para intentar vim y determinar la sangría correcta automáticamente. Funcionará en cualquier línea de compra simplemente colocando el cursor allí y presionando == o puede hacer cosas extravagantes como seleccionar todo el archivo y presionar == para corregir todas las sangrías (funciona de maravilla en html generado por los editores de wysiwyg).


Puede usar objetos de texto si quiere evitar el modo visual por completo. Por ejemplo, >ap en modo Normal sangra un párrafo, >aB sangra un bloque de llaves, etc. Consulte :h text-objects .


Si primero ingresa SHIFT-V, y luego desplaza + flechas para seleccionar el texto, se sangrará. También puede usar SHIFT-V y usar ''hjkl'' para seleccionar el bloque.

Si usa Mayús + Flechas o el mouse para seleccionar un bloque de texto, no funciona y la selección se reemplazará por un ''>''. Esto se puede cambiar cuando cambias el modo de selección;

establecer selectmode = mouse, key

  • configuración predeterminada después de comportarse mswin

establecer selectmode = key

  • ahora puede seleccionar con el mouse y presionar ''>'' para sangrar

establecer selectmode =

  • ahora puede seleccionar ambos con el mouse y las teclas de flecha desplazadas y presionar ''>'' para sangrar

Si agrega esto a su vimrc, hágalo después de comportarse mswin


Esc -> Shift + V -> Seleccionar líneas - >>>