He notado que vim puede ser bastante intuitivo, pero tengo problemas para encontrar una manera de repetir el comando penúltimo (o penúltimo, último penúltimo, etc.). Al escribir .
en modo normal, se repetirá el último comando. Presionar 3.
repetirá el último comando tres veces.
Digamos que escribo oHello<Esc>
entonces A, World!<Esc>
. Ahora consigo
Hello, World!
en la pantalla. Ahora, di que quiero conseguir
Hello, World!
Hello
Hello
Hello
sin escribir Hola ¿Vim almacena el historial más allá de un comando, por lo que podría escribir algo como 3,2.
(es decir, repetir el penúltimo comando tres veces)?
qaoHello<esc>q
luego@a
repetirlaHello
cuando lo desee). También hay@@
que repetir la última macro utilizada.3@a
para repetir la macro varias vecesRespuestas:
No, el
.
comando envim
no tiene un historial, ni hay ningún tipo de historial de repetición para comandos en modo normal que yo sepa. Para la menor cantidad de pulsaciones de teclas, lo recomendaría4oHello<Esc>3jA, World<Esc>
. Si ya lo has hechooHello<Esc>A, World<Esc>
, puedes seguir eso conuyy<Ctrl-r>3p
.fuente
Existe un complemento llamado RepeatLast.vim que hace lo que quiere pero con un costo: su vim siempre está en modo macro de grabación. Puede instalarlo con el administrador de paquetes que está usando como cualquier otro paquete vim o simplemente puede clonarlo y soltarlo
~/.vim/plugin
si está usando vim o~/.config/nvim/plguin
si está usando neovim. Para repetir la penúltima acción, debe escribir2\.
en modo normal y para repetir la última acción, debe escribir<n>\.
en modo normal.http://www.vim.org/scripts/script.php?script_id=4381 https://github.com/vim-scripts/RepeatLast.vim
fuente