Con el fin de ser capaces líneas complemento en blanco sin entrar en el modo de inserción, que estoy tratando de mapear ALT-o
y ALT-O
a o<ESC>
yo<ESC>
He intentado lo siguiente en mi .vimrc
map <M-o> o<ESC>
map <M-O> O<ESC>
y
map <ALT-o> o<ESC>
map <ALT-O> O<ESC>
y (como se sugiere a continuación)
map <A-o> o<ESC>
map <A-O> O<ESC>
Pero ninguno funciona. Simplemente da el comportamiento habitual, como si ALT-o
no se hubiera definido.
Esta es la primera vez que modifico el .vimrc
archivo, y no puedo encontrar dónde la documentación le dice cómo designar las diferentes claves. Pero puedo verificar que mi .vimrc
archivo se está leyendo, incluyendo:
map <Enter> ihello<ESC>
Que se asigna correctamente <Enter>
para insertar hello
y volver al modo de comando.
Estoy usando vim con cygwin.
vim
keyboard-shortcuts
cygwin
Eric Wilson
fuente
fuente
<C-o>
y<C-O>
.Respuestas:
Para ver qué está enviando su terminal cuando presiona una tecla, cambie al modo de inserción, presione
Ctrl+V
y luego la tecla. La mayoría de las teclas con la mayoría de los terminales envían una secuencia de escape donde solo el primer carácter es un carácter de control;Ctrl+V
inserta el siguiente carácter literalmente, para que puedas insertar toda la secuencia de escape de esa manera.Diferentes terminales envían diferentes secuencias de escape para algunas combinaciones de teclas. Muchos terminales envían el mismo carácter (
^O
) para ambosCtrl+O
yCtrl+Shift+O
; Si ese es el caso, Vim no podrá distinguir entre ellos.Mencionas que estás usando Cygwin; en qué terminal está ejecutando Vim es la información más pertinente. Si está utilizando la consola nativa de Windows, consiga una mejor terminal. Recomiendo MinTTY para ejecutar aplicaciones de modo de texto Cygwin en un terminal en Windows fuera de X, pero RXVT y PuTTYcyg nativo de Windows de Cygwin también son buenos. (También Console2 para ejecutar aplicaciones de consola de Windows, pero eso está fuera de tema aquí).
fuente
Si
Control+V
seguido deALT-x
shows^[x
(escriba en la terminal) puede arreglarlo con este pequeño script de vim.wikia.com :Agregue a .vimrc para todas las asignaciones de teclas alternativas.
fuente
Esto me funciona en el terminal Ubuntu 16.04 xfce (y en el terminal alacritty rust)
Establezca el desencadenador de fragmentos de ultisnip en
Meta-/
(al igual que el fragmento de emacs)let g:UltiSnipsExpandTrigger="^[/"
Aquí está ahora
^[/
escribo vimEn modo de inserción
Ctrl-V Alt-/
(
Meta
es laAlt
tecla en el teclado de mi PC)fuente
La tecla M (eta) es el botón de Windows. Es simplemente
<A-o>
.fuente
map <A-o> o<ESC>
y funcionó para mí. Si lo pones en tu.vimrc
, ¿lo recargaste?