¡Acabo de recibir una Mac! ¿Cómo hago "fin", "inicio", "página arriba" y "página abajo" en mi terminal / editor VIM?

8

Escribo mucho python en mi VIM, en la terminal. ¿Qué debo hacer?

Alex
fuente
1
en realidad, si necesita hacer estas preguntas, debería considerar usar otro editor o IDE para escribir python. Para el caso, inicio => ^, fin => $, página arriba = ^ f, página abajo = ^ b; Tenga en cuenta que usted necesita para salir del modo de edición utilizando Esc primero y, a continuación, volver a entrar por EG I o una ....
bubu
1
@bubu bah! Yo digo. Hago toda mi codificación en VIM, es un excelente editor, incluso para python.
Jed Daniels
1
¿Se está refiriendo a las teclas 'inicio' 'final' 'página arriba' 'página abajo' en su teclado, o simplemente está buscando los comandos de navegación VIM adecuados?
Stefan Lasiewski

Respuestas:

17

Realice los atajos vi estándar de más de 30 años de edad

^f(adelante == página abajo)
^b(atrás == página arriba)
^(eso es un cursor de shift-6 para el inicio de la línea) y
$(final de la línea)

...¿no trabajo?

¿O está buscando teclas de teclado estilo PC para esas funciones? Para esos, use las teclas de flecha Fn +:

Fn + flecha abajo == página abajo
Fn + flecha arriba == página arriba
Fn + flecha izquierda == inicio
Fn + flecha derecha == final

Spiff
fuente
44
Las combinaciones de teclas 'Fn + flecha' no funcionan para mí usando Terminal.App y Vim.
Stefan Lasiewski
|es equivalente a INICIO: ambos van a la columna 0 de la línea, en lugar del primer carácter no espacial en ella.
intuido
En mc en Lion Fn + las flechas solo funcionan bien para mí. Las teclas ^ f, ^ b cargan el archivo anterior \ siguiente en la carpeta actual. Gracias
kradmiy
¡Gracias por esto! ¿Puedo mover el cursor también en modo de inserción? Puedo hacer esto en Windows y Linux. ¿Mac OS X es tan bueno como ellos? Corrección menor: 0 hace la primera posición de la línea actual, mientras que ^ hace el primer carácter no en blanco de la línea actual.
tommy.carstensen
Esto no responde la pregunta. Para que HOME y END funcionen en vim y en el shell, coloque bind '"\e[1~":"\eOH"'y bind '"\e[4~":"\eOF"'en su $ HOME / .bashrc. Más personalización de bash / vim compatible con Mac y Linux en github.com/sudoer/dotfiles .
Alan Porter
7

Comandos Vim (estos no son específicos de Mac):

fin de línea: $

inicio de línea: 0

página abajo: ctrl + f

página arriba: ctrl + b

Jed Daniels
fuente
2

Si busca en la configuración del teclado del terminal, puede intercambiar las acciones de página arriba / abajo y cambiar página arriba / abajo. Eso funciona en vim predeterminado y como es de esperar en cajas remotas.

gg y G son todo lo que necesitas para casa / fin. (Pasé un tiempo tratando de hacerlo funcionar)

Jacob
fuente
1

Para que HOME y END funcionen en vim y en el shell, coloque bind '"\e[1~":"\eOH"'y bind '"\e[4~":"\eOF"'en su archivo $ HOME / .bashrc.

Más personalización de bash / vim compatible con Mac y Linux en https://github.com/sudoer/dotfiles . En los guiones de bash, busque las palabras $ OSTYPE y "darwin". Hay un bloque similar "Darwin" en el vimrc para ajustes de vim específicos de Mac.

Alan Porter
fuente