windows keyboard-shortcuts vim

¿Por qué<Ca>(CTRL+A) no funciona bajo gvim en Windows?



keyboard-shortcuts (5)

Estoy tratando de utilizar el shorcut <Ca> ( CTRL + A ) debajo de vim para incrementar una variable debajo del cursor. Esto funciona bien bajo vim corriendo en Linux. Sin embargo, cuando trato de hacer esto en gvim en Windows, "selecciona todo" (es decir, resalta o selecciona visualmente todo el texto en la ventana actual). ¿Cómo puedo cambiar este comportamiento o, alternativamente, cómo puedo recuperar la funcionalidad de la variable de incremento (por ejemplo, quizás con un mapeo de teclas diferente)?


Si simplemente no te gusta el comportamiento de Ctrl A , pero estás bien con otros comportamientos de Windows en VIM (como Ctrl Z para deshacer), simplemente deshabilita esa línea específica:

  1. Edite dicho archivo ( c:/Program Files/Vim/vim73/mswin.vim para mí)
  2. Encuentre el párrafo que comienza con CTRL-A is Select all
  3. Antepone todas las (6) líneas de ese párrafo con los corchetes de apertura ( " )
  4. Vuelva a abrir sus ventanas GVIM.

Todavía puede "seleccionar todo" escribiendo ggVG (coloque el cursor en la primera línea, seleccione toda la línea, seleccione hasta la última línea del documento).

¡Feliz incremento!


Esto se debe a mswin.vim que proviene del _vimrc predeterminado generado al instalar vim. Simplemente anule su _vimrc con .vimrc que está utilizando en * nix, o elimine mswin.vim.


Vim en Windows tiene asignaciones de teclas especializadas por defecto para hacer que los accesos directos sean más "windows-y". Estos se especifican en el archivo $ VIMRUNTIME / mswin.vim, que se carga a través de vimrc a menos que lo haya deshabilitado. Puede editar el archivo mswin.vim (es posible que desee editar una copia, cambiando su vimrc para usar su copia editada).

No estoy del todo seguro de que sea una asignación de Vim predeterminada, ya que la única referencia que puedo encontrar en Ctrl + A en el archivo de ayuda es esta, que no parece hacer lo que te refieres:

*c_CTRL-A* CTRL-A All names that match the pattern in front of the cursor are inserted.

por lo que es posible que desee comprobar su cuadro de Linux para ver si algún complemento o algo cambia la asignación de claves. (Por supuesto, puede ser que no pueda encontrar la parte apropiada de la ayuda de Vim).


en la versión actual de mswin.vim proporcionada con gvim, el archivo busca el valor de un global llamado skip_loading_mswin ; Si se establece, el resto del archivo se omite; por lo tanto, es suficiente agregar

let skip_loading_mswin=1

a $HOME/_vimrc y los enlaces de vim normales se restaurarán la próxima vez que inicie vim.


Sé que llego tarde a la fiesta, pero pensé en compartir lo siguiente:

nnoremap <kPlus> <C-a> nnoremap <kMinus> <C-x>

Esto reasigna el incremento a la tecla + en el teclado numérico y disminuye a la tecla - . Es la solución que he usado en mi propio archivo _vimrc en Windows. Mantiene la compatibilidad de Windows y es más fácil de recordar que las Ctrl + A / Ctrl + X originales también.