2010-09-11 7 views
6

Me gusta usar hlsearch pero odio mantener todo resaltado después de la búsqueda, para resolver este problema simplemente podía usar :nohlsearch o una abreviatura de eso, pero eso todavía es un gran esfuerzo así que decidí probar hacer eso al presionar escape. Lo que se me ocurrió es:Asignación: nohlsearch para escapar de la clave

nnoremap <ESC> :nohlsearch<CR> 

Esto funciona exactamente como yo quiero que en GVim que suelo utilizar para el desarrollo, pero no funciona en vim.

Si busco algo en vim, presiono escape para desactivar el resaltado y uso una de las teclas de flecha para navegar vim va directamente al modo insertar e inserta un carácter en una nueva línea.

Como nunca me dio la vuelta a la utilización de h, j, k y l para la navegación esto es muy molesto y me gustaría saber cómo puedo hacer que se comporte como vim gvim.

Si necesita más información puede encontrar toda mi configuración de vim here.

+4

Ctrl-L ya se utiliza para volver a dibujar la pantalla, por lo que el uso que: 'nnoremap : Nohl ' – idbrii

+1

he mapeado \ para: nohlsearch^M (\ tan opuesta en busca de /; más fácil recuerda como justo encima de la tecla enter.) – anishsane

+0

@idbrii, excelente sugerencia, gracias. Además, evita el problema de golpear, p. '5' luego presionando' 'para cancelar, y obteniendo' E481: No range allowed'. – Wildcard

Respuesta

6

Su problema es que cuando se pulsa <Up> terminal envía algo así como <Esc>OA (verá que si escribe <C-v><Up> en modo de inserción), que se reasigna a :nohlsearch<CR>OA. No conozco ninguna solución, excepto no mapear un solo <Esc>, intente mapear al doble <Esc>.

+0

Gracias por la explicación, verifiqué qué envía el terminal y lo usé para resolver el problema al mapearlos. – DasIch

-3

es :noh ¿Todavía demasiado trabajo?

EDIT: No sé ustedes, pero personalmente pienso: noh es más fácil que presionar la tecla Esc, ya que puedo presionar todos los botones sin estirar el dedo demasiado (por eso creo que el mapeo de Esc para volver al modo de comando desde el modo de inserción es un poco desafortunado). Si realmente usa el: nohlsearch tanto, probablemente deba reasignarlo a algo a lo que pueda acceder desde el área de inicio (es decir, letras o números regulares, o quizás letras Ctrl).

De todos modos, escribir el comando exacto que das funciona en mi vim (en gnome-terminal). ¿Estás seguro de que has puesto la regla en el archivo .vimrc, en lugar de .gvimrc? Sin suerte después de reiniciar vim? Pruebe :source /path/to/config/file y vea si eso lo hace funcionar.

+1

"o una abreviatura". ': noh' toma cuatro letras, mi solución preferida es solo una. Eso puede sonar un poco estúpido para algunas personas, pero busco con frecuencia lo que esto me importa. – DasIch

+0

Tengo el bloqueo de escape y mayúsculas porque de hecho el tiempo requerido para alcanzar la tecla de escape es demasiado largo. – DasIch

+0

@Daslch: del mismo modo, es por eso que elegimos vim. –

Cuestiones relacionadas