En una Mac, puedo ir al inicio y al final de una línea en vi, cuando no está en modo INSERT:
^
(inicio de línea)
$
(final de línea)
Esto se explica, por ejemplo, aquí: ¿Cómo hago "fin", "inicio", "página arriba" y "página abajo" en mi terminal / editor VIM?
Pero, ¿cómo voy al principio y al final de una línea en vi, cuando estoy en modo INSERT?
cmd+ ←/ se →desplaza entre ventanas
alt+ ←retrocede una palabra
ctrl+ ←/ →no hace nada
shift+ ←/ →retrocede / avanza una palabra
ctrl+ cmd+ ←/ →retrocede / avanza una palabra
fn+ left/ →va al principio / final del búfer de terminal
Resumen de la solución proporcionada por @romainl a continuación:
Terminal> Preferencias> Configuración> Teclado> +
Tecla: Inicio, Modificador: Ninguno, Acción: Enviar texto, \ 017 ^
Tecla: Finalizar, Modificador: Ninguno, Acción: Enviar texto, \ 017 $
Encontré esta solución muy ordenada, que ahorra un golpe de tecla: moverse al comienzo de la línea mientras está en modo Insertar .
ctrl+ oseguido de 0(inicio) o $(final) o ^(primer carácter que no sea un espacio en blanco)
Y aquí hay una respuesta muy elaborada: atravesar texto en modo Insertar
Respuestas:
Primero, se supone que no debes mover el cursor cuando estás en modo de inserción.
Segundo, solo algunos teclados Mac vienen sin teclas
<Home>
/<End>
. Deberías haber examinado más de cerca antes de desembolsar todo ese dinero en efectivo para una computadora que es tan dolorosa de usar.En tercer lugar, puede usar los siguientes accesos directos cuando no tiene teclas físicas
<Home>
/<End>
:<Home>
<End>
Cuarto, Terminal.app captura
<Home>
/ de<End>
todos modos, por lo que tendrá que editar esos enlaces en la ventana de "preferencias" si desea que Vim reciba<Home>
y<End>
.Para
<Home>
, presioneCtrl+o
(se inserta\017
) y luego^
:Para
<End>
, presioneCtrl+o
(se inserta\017
) y luego$
:fuente
El archivo gvimrc del sistema distribuido con MacVim tiene dos conjuntos de asignaciones. Uno está habilitado de forma predeterminada, el otro deshabilitado. Curiosamente, ninguno contiene un comando para ir al inicio / final de la línea en modo Insertar, pero aún vale la pena echarle un vistazo:
Puede agregar algo a su archivo vimrc como este:
Una pequeña prueba muestra que esto funciona en la GUI pero no en la terminal, por lo que tal vez debería ir en su archivo gvimrc. Qué tal si
Donde NO escribe esos comandos literalmente:
<C-V>
es un personaje y<S-Left>
es otro. En mi máquina, usando Mac's Terminal.app, obtengo el mismo efecto con esto, escrito literalmente:Al usar la GUI, esto puede sobrescribirse por la configuración en el archivo gvimrc del sistema.
fuente