Supongamos que tengo un documento como este, y quiero buscar todas las apariciones de la URL:Crear una asignación para la línea de comandos de Vim que se escapa el contenido de un registro antes de insertarlo
Vim resources: [http://example.com/search?q=vim][q]
...
[q]: http://example.com/search?q=vim
I No quiero escribirlo en su totalidad, así que colocaré mi cursor en la primera URL y ejecutaré "uyi[
para arrastrarlo al registro 'u'. Ahora que buscarlo, me gustaría simplemente pegar el contenido de dicho registro en el campo de búsqueda mediante la ejecución:
/\V<c-r>u<CR>
Esto se traduce en Vim busca de la cadena 'http:' - porque el '/' personaje termina el campo de búsqueda.
puedo evitar el problema mediante la ejecución de este lugar:
/\V<c-r>=escape(@u, '\/')<CR><CR>
pero es un montón de escribir!
¿Cómo puedo crear una asignación para la línea de comandos de Vim que simplifique este flujo de trabajo?
Mi flujo de trabajo ideal sería algo parecido a esto:
- prensa
/\V
para que aparezca el símbolo de búsqueda, y utilizar el modo muy nomagic - pulse Ctrl-x para disparar la asignación personalizada (ctrl-x es disponible)
- Vim escucha para la siguiente pulsación de tecla ... (presionando
<Esc>
cancelaría) - presionando 'u' escaparía el contenido de la 'U' registro, e insertar en la línea de comandos
Actualmente uso '*' en modo visual. Tengo un plugin casero basado en este script: http://amix.dk/blog/post/19334 –
@PeterRincker - Sí, uso [algo así] (https://github.com/bronson/vim- visual-star-search) también! La propia documentación de Vim sugiere un [mapeo similar] (http://vimdoc.sourceforge.net/htmldoc/visual.html#visual-search), aunque está un poco medio coagulado. – nelstrom