Utilizo un administrador de ventanas de mosaico (impresionante) + un multiplexor de terminal (tmux) + divisiones dentro de vim. No tengo decoraciones para ventanas en absoluto, por lo que no hay una división visual entre ellas si el contenido del programa no lo delata. Estoy bastante cómodo con este paradigma, ya que de todos modos uso múltiples monitores y tareas grupales por pantalla. Si dos ventanas no tuvieran una razón para estar juntas, no estarían allí en primer lugar.
Sin embargo, esto crea un poco de disonancia visual donde la división visual más obvia es la semántica menos significativa.
- Xorg window ‹|› window = nada en absoluto
- Tmux pane ‹|› pane = 1px línea divisoria
- Vim split ‹|› split = columna de color de 1 carácter de ancho
Aquí hay una muestra que muestra uno a cada lado de ventanas, paneles y divisiones vim:
Incluso sin hacer clic en la versión de resolución completa, la línea divisoria blanca que ve es la división menos significativa en la pantalla, los paneles vim. (Tenga en cuenta que la columna gris a la derecha de la sesión de vim es en realidad un resaltado de la columna 80, no un divisor de ningún tipo, aunque a menudo trabajo en ese tamaño).
Soy consciente de cómo cambiar el carácter dibujado en la división o reducir el contraste del esquema de color. Lo que me gustaría hacer es usar la misma barra dividida que tmux que no ocupa ningún ancho porque está dibujada entre columnas en lugar de en una. ¿Es esto posible con vim basado en terminal? Gvim? Neovim? Baring haciendo un separador visualmente discreto, ¿se puede apagar la columna divisoria por completo?
PD La razón por la que tiene sentido usar un separador visualmente similar es porque uso las mismas combinaciones de teclas para navegar entre los paneles tmux y las divisiones vim. Las mismas teclas navegan sin problemas entre ellas, solo tendría sentido si los límites visuales fueran los mismos también.
hi VertSplit cterm=NONE
porque esreverse
por defecto.Incluso en mi propia captura de pantalla, tmux no está usando ninguna magia, la división sigue siendo una columna de un solo personaje. El efecto visual menos molesto es el uso de un carácter de dibujo de cuadro Unicode que es menos torpe que el valor predeterminado ASCII de vim, y la falta de un color de fondo resaltado.
Casi el mismo efecto es posible en vim agregando algo como las siguientes líneas al archivo rc:
El uso de
autocmd
garantías garantiza que el over-ride sobresaliente se mantenga vigente si cambia los esquemas de color. Es posible que desee o no este comportamiento, ya que algunos esquemas de color tienen valores razonables para este grupo de colores.También tenga en cuenta que
cterm=NONE
es necesario anular algunos esquemas de color que configuran este valorreverse
, ergo jugando con cualquier valor fg / bg que intente usar.fuente
No, esto no se puede hacer en Vim, y probablemente sería muy difícil de implementar en GVIM.
Vim se adhiere al direccionamiento basado en células utilizado en el terminal; dentro de un búfer, esto es crucial para una navegación vertical consistente con
j
/k
. Este direccionamiento por coordenadas x e y basadas en celdas está tan arraigado en la implementación de Vim que supongo que es muy difícil de superar.También tenga en cuenta
:help design-not
:fuente