vim - ¿Insertar carácter sin entrar en el modo insertar?
shortcut keymapping (6)
A veces quiero insertar un #
para comentar una línea y probarlo rápidamente. Actualmente hago:
i # ESC : w
¿Hay algo más corto que pueda hacer?
Asigno un par de cosas a mi tecla <leader>
( /
por defecto):
" # comment the current line
nnoremap <leader>d I#<ESC>
" block comment in visual mode
vnoremap <leader>c <ESC>''<O/*<ESC>''>o*/<ESC>V''<k
Si desea agregar un #
al inicio de un grupo de líneas, haga lo siguiente:
-
<ctl-v>
-
j
(tantas veces como sea necesario -
I#
-
<esc>
Aunque estoy de acuerdo con los demás en que hay mejores formas de comentar y eliminar el código , parece que las personas se han distraído y olvidado para responder la pregunta.
Este es mi enfoque para insertar un solo personaje:
:noremap <key> i <Esc>r
Tiendo a encontrar que necesito reemplazar, eliminar o agregar caracteres individuales muy a menudo si estoy corrigiendo errores tipográficos, por lo que (resp.) r
, x
, y lo que sea que se seleccione para <key>
en lo anterior es muy útil.
Tenga en cuenta que También es particularmente útil para este tipo de tarea. Repite la acción anterior.
Sin embargo, personalmente, solo asigno esta función a una clave valiosa cuando realizo una tarea en la que la uso con la frecuencia suficiente para justificar que ocupe un lugar privilegiado en el teclado (como la corrección de errores tipográficos), porque en realidad, solo guarda una pulsación de tecla por use y eso es solo cuando <key>
no es una combinación, lo que por supuesto limita la disponibilidad.
En realidad, hay un plugin que deberías echar un vistazo a:
http://www.vim.org/scripts/script.php?script_id=1218
Está específicamente diseñado para ese propósito.
Mapear en vim es tan fácil que podría hacer algo como
:nmap CC I#<Esc>:w<CR>
sobre la marcha. Si me acostumbro, lo agregaré a mi archivo vimrc.
:help key-mapping
:help usr_40.txt
Podrías usar una grabación. Desde el modo normal, escriba:
qlml0i#<press escape>`lq
Luego, para comentar una línea, simplemente presione @l
Soy particularmente aficionado al plugin tComment . gcc para comentar una línea, repetir para descomentar, múltiples líneas, movimientos, etc.