Respuestas:
Ctrl-Cy Escno son iguales en vi
/ vim
en la mayoría de los modos, incluido el modo de inserción. La diferencia es Escabreviaturas desencadena mientras Ctrl-cque no. Si esto es importante para usted depende de si usted o los complementos que utiliza hacen uso de abreviaturas.
Tenga en cuenta que es más seguro suponer Escy Ctrl-Cno no significa lo mismo en vim
. Otro ejemplo de este mismo sitio es al salir del modo de inserción de bloque (no en vi
).
Creo que quieres decir vim
, no vi
.
De hecho, esto funciona vim
, aunque no lo usaría a menos que estuviera 100% seguro de que nunca tocaría un sistema operativo que no sea Linux. La razón es que otros sistemas operativos pueden tener sus propias implementaciones vi
, que no implementan esto, y puede encontrar que cuando se ejecuta vi
en esas plataformas, Ctrl-C tiene su propio comportamiento tradicional: interrumpa el proceso y deje su terminal en un estado extraño .
vi
implementación que todavía exista hoy y que no funcione Ctrl-C
? Vea mi respuesta para la verdadera diferencia.
Si te refieres vim
, hay una ligera diferencia. CTRL-C
no comprueba las abreviaturas y no desencadena el InsertLeave
evento. Por lo tanto, usted o los complementos han definido las autocmd
declaraciones que dependen de InsertLeave
ellas, no se activarán.
De la documentación oficial http://vimhelp.appspot.com/insert.txt.html :
<Esc> or CTRL-[ End insert or Replace mode, go back to Normal mode. Finish
abbreviation.
CTRL-C Quit insert mode, go back to Normal mode. Do not check for
abbreviations. Does not trigger the InsertLeave autocommand
event.
Puede definir una asignación para CTRL-C
a <esc>
, luego se activará InsertLeave
.
Type :quit<Enter> to exit Vim
y me hizo buscar en Google cómo volver. Golpeari
te lleva de vuelta al modo de inserción.