2011-11-30 6 views

Respuesta

33

Sí, puedes. Utilice RltvNmbr.vim para mostrar los números relativos, y el uso de Vim para mostrar los absolutas:

enter image description here

+2

¿Por qué no está marcado como respuesta? –

+0

@ Fire-Dragon-DoL He instalado ese complemento, pero necesito que se muestre en el inicio del vim. ¿Qué debo ingresar en el archivo '.vimrc'? – noufal

+1

permite que este complemento realmente ralentice todo el vim, p. al cambiar las líneas por j/k .. – lszk

7

Razonablemente hablando, no se puede. La numeración de línea es uno por búfer, controlada únicamente por la opción 'number'.

Una loca idea que probé: :vertical diffsplit plus :setlocal relativenumber. Esto obtiene dos copias del buffer una al lado de la otra, vinculadas en posición de desplazamiento porque están en modo diff. Sin embargo, realmente no funciona correctamente. Los números relativos no se actualizan correctamente (en 7.3.154, error corregido más tarde, pero lo dudo — apenas lo vale), e incluso si lo hicieran, estarías atrapado con una gran monstruosidad y una administración y navegación más difíciles. .

Puedes hacerlo con un complemento escribiendo en un búfer especial que mantendrías a la izquierda, pero la implementación sería fea y aún dificultaría la navegación (porque es otro buffer). Por mi parte, ciertamente no voy a perder tiempo escribiendo ese complemento, aunque debo confesar que me gustaría mostrar ambas formas de numeración de líneas.

+0

Ah, lo has pensado desesperadamente como yo. :) – mt3

+2

@ mt3 y puede que le interese volver a las preguntas y respuestas y ver que se ha publicado una solución de complemento como respuesta –

+1

OK, he desactivado esta como aceptada y he seleccionado el complemento real. – mt3

2

Estas son mis asignaciones relacionadas con los números de línea relativa y absoluta alterna entre relativo y absoluto.

Al ingresar a una ventana se establece la ventana a números relativos, mientras que se lo deja en absoluto. Luego, si haces una división vertical de la ventana, verás el mismo buffer con números relativos y absolutos.

" setglobal relativenumber 
autocmd WinEnter * :setlocal relativenumber 
autocmd WinLeave,FocusLost * :setlocal number 
autocmd InsertEnter * :setlocal number 
autocmd InsertLeave * :setlocal relativenumber 

function! g:ToggleNuMode() 
    if(&relativenumber == 1) 
    set number 
    else 
    set relativenumber 
    endif 
endfunc 

map <C-l> :call g:ToggleNuMode()<CR> 
15

Vim 7,4 (Patch 7.3.787) mostrará el número de línea absoluta en lugar de "0", cuando ambos "relativenumber" y "número" están configurados.

De :h relativenumber, 7,3

Al configurar esta opción, 'número' se pone a cero.

De :h relativenumber, 7,4

El número delante de la línea del cursor también depende del valor de 'número', ver | number_relativenumber | para todas las combinaciones de las dos opciones .

5

Combinando plnx y Macario respuestas con vim 7.4.

autocmd WinEnter,FocusGained * :setlocal number relativenumber 
autocmd WinLeave,FocusLost * :setlocal number norelativenumber 

Esto muestra la numeración relativa (con línea actual en absoluto) en la ventana de centrado, y Absolute en la ventana no centrado.

Cuestiones relacionadas