De todos modos para navegar porcentualmente en vim?


25

A menudo abro archivos grandes, buscando registros en los registros para encontrar información. Como todas las líneas tienen marca de tiempo en mi caso y estoy seguro de en qué parte del archivo completo está presente la información que me interesa. Por ejemplo,

  • en la mitad inferior del contenido del archivo (50% o más) o
  • aproximadamente un 10% más hacia el final del archivo o
  • desplácese hacia abajo más del 20% del archivo original.

Entonces, para navegar rápidamente de esta manera, es decir, en términos de porcentaje, ¿hay alguna funcionalidad existente ya disponible vim?


@stephane ¿Alguna forma de obtener más del 10% de la línea actual? No ve nada referenciado para navegar en esto en la ayuda:h N%
mtk

Acabo de probar un porcentaje relativo + 50%. No funciona, así que no. He actualizado mi respuesta para mostrar información de ayuda.
X Tian

Respuestas:


45

Perdón por una respuesta corta, pero

Sólo tipo 50%

                                                        *N%*
{count}%                Go to {count} percentage in the file, on the first
                        non-blank in the line |linewise|.  To compute the new 
                        line number this formula is used:
                            ({count} * number-of-lines + 99) / 100
                        See also 'startofline' option.  {not in Vi}

3
Esta respuesta es perfecta. Y podría ser aún más si pudieras hacer un movimiento relativo también: es decir, moverse, por ejemplo, un 10% hacia adelante, independientemente de mirar dónde estás. También tenga en cuenta que no debe ingresar: para acceder al modo de comando.
nilon

3

Existe el [count]%comando (¡qué intuitivo!) Para la navegación absoluta. Para la navegación relativa, debe calcular la cantidad usted mismo. Por ejemplo, para desplazarse hacia abajo 33%:

:exe 'normal!' 33 * line('$') / 100 . 'j'

(Probablemente desee crear asignaciones que utilicen v:countpara estos).

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.