Je viens de recevoir un Mac! Comment puis-je faire "fin", "accueil", "page précédente" et "page suivante" dans mon terminal / éditeur VIM?

8

J'écris beaucoup de python dans mon VIM, sur le terminal. Que fais-je?

Alex
la source
1
en fait, si vous devez poser ces questions, vous devriez vraiment envisager d'utiliser un autre éditeur ou IDE pour écrire python. En fait, home => ^, end => $, page up = ^ f, page down = ^ b; notez que vous devez d'abord quitter le mode d'édition en utilisant Esc, puis y revenir par exemple par i ou a ....
bubu
1
@bubu bah! Je dis. Je fais tout mon codage en VIM, c'est un excellent éditeur, même pour python.
Jed Daniels
1
Faites-vous référence aux touches 'home' 'end' 'page up' 'page down' de votre clavier, ou recherchez-vous simplement les commandes de navigation VIM appropriées?
Stefan Lasiewski

Réponses:

17

Les raccourcis vi standard de plus de 30 ans de

^f(avant == page vers le bas)
^b(arrière == page vers le haut)
^(c'est un curseur de décalage-6 pour le début de la ligne) et
$(fin de la ligne)

... ne fonctionne pas?

Ou recherchez-vous des touches de clavier de style PC pour ces fonctions? Pour ceux-ci, utilisez les touches fléchées Fn +:

Fn + flèche bas == page bas
Fn + flèche haut == page haut
Fn + flèche gauche == home
Fn + flèche droite == fin

Spiff
la source
4
Les combinaisons de touches 'Fn + flèche' ne fonctionnent pas pour moi en utilisant Terminal.App et Vim.
Stefan Lasiewski
|est équivalent à HOME: ils vont tous les deux à la 0ème colonne de la ligne, plutôt qu'au premier caractère non-espace.
intuitif
Dans mc sur Lion Fn +, les flèches ne fonctionnent que pour moi. Les touches ^ f, ^ b chargent le fichier précédent \ suivant dans le dossier actuel. Merci
kradmiy
Merci pour cela! Puis-je également déplacer le curseur en mode insertion? Je peux le faire sur Windows et Linux. Mac OS X est-il aussi bon qu'eux? Correction mineure: 0 fait la première position de la ligne courante, alors que ^ fait le premier caractère non vierge de la ligne courante.
tommy.carstensen
Cela ne répond pas à la question. Pour que HOME et END fonctionnent dans vim et dans le shell, mettez bind '"\e[1~":"\eOH"'et bind '"\e[4~":"\eOF"'dans votre $ HOME / .bashrc. Personnalisation bash / vim plus conviviale pour Mac et Linux sur github.com/sudoer/dotfiles .
Alan Porter
7

Commandes Vim (elles ne sont pas spécifiques à Mac):

fin de ligne: $

début de ligne: 0

page suivante: ctrl + f

page précédente : ctrl + b

Jed Daniels
la source
2

Si vous regardez dans les paramètres du clavier du terminal - vous pouvez permuter les actions pour la page haut / bas et décaler la page haut / bas. Cela fonctionne dans vim par défaut et comme vous vous en doutez sur les boîtiers distants.

gg et G sont tout ce dont vous avez besoin pour la maison / fin. (J'ai passé un certain temps à essayer de le faire fonctionner)

Jacob
la source
1

Pour que HOME et END fonctionnent dans vim et dans le shell, mettez bind '"\e[1~":"\eOH"'et bind '"\e[4~":"\eOF"'dans votre fichier $ HOME / .bashrc.

Personnalisation bash / vim plus conviviale pour Mac et Linux sur https://github.com/sudoer/dotfiles . Dans les scripts bash, recherchez les mots $ OSTYPE et "darwin". Il existe un bloc "Darwin" similaire dans le vimrc pour les réglages de vim spécifiques à Mac.

Alan Porter
la source