2013-02-27 8 views
9

Je suis devenu un peu fou ces derniers mois, en utilisant des plugins comme Vimium pour contrôler le chrome. J'utilise actuellement iTerm2, mais je me demandais s'il y avait des émulateurs de terminaux ou des shells qui utilisaient des commandes vim ou pouvaient être configurés pour avoir des commandes similaires à celles de vim.Émulateur de terminal ou shell avec commandes semblables à vim

Je suis principalement intéressé par la sélection de texte (mode visuel) à partir du tampon, le retirer, et le coller quelque part sur la ligne de commande ci-dessous. Il serait agréable de pouvoir faire défiler vers le haut et vers le bas le tampon avec j et k, et de modifier votre commande avec le mode d'insertion (ont actuellement utiliser les touches fléchées)

Est-ce une si belle chose existe?

+0

Il ne s'agit généralement pas d'une fonction de l'émulateur de terminal, mais de l'application (par exemple, le shell) que vous exécutez. – Barmar

+3

Par exemple, dans bash, 'set + o vi' pour obtenir l'édition de style vi au lieu du style emacs. Les autres applications utilisant readline doivent être configurables de la même manière. – Barmar

+0

Merci Barmar, je vais regarder dans ce – nolanpro

Répondre

7

édition et l'exécution des commandes par vim

  1. vim ouvert, :r !history (ou autre), les choses de copie, et l'exécuter via :!<type your shell command here>. Utilisez la dernière commande :silent !<blah blah> si vim doit arrêter de vous envoyer des messages par la suite. Si vous respectez les réglages habituels d'emacs (si vous ne changez pas de mode dans l'un des deux shell comme je l'ai décrit, vous pouvez utiliser ctrl + a, ctrl + e et tout le reste!), Vous pourriez essayer d'écrire votre commande et le modifier dans vim par CTRLXCTRLE.
    Cependant, cela dépend de l'éditeur défini via la variable d'environnement EDITOR/VISUAL, qui indique à Linux quel éditeur le système devrait utiliser habituellement!

    Ici, vous pouvez coller du contenu si vous avez un vim qui est compilé avec les indicateurs + presse-papiers ou + xterm_clipboard!
    :wq et vous êtes de retour à l'invite avec les modifications que vous avez apportées.



liaisons indigènes dans la coquille

bash: set -o vi

zsh: bindkey -v

Switchin g en mode normal avec ESC ou CTRL [, on peut utiliser le mouvement comme dans vim (ew b hj k l ...) ou ouvrir un vim avec le contenu actuel en utilisant v.

Les coques font de leur mieux pour émuler le comportement.Malheureusement, vous n'avez aucun indicateur visuel que vous insériez ou non, en plus des changements d'entrée lorsque vous tapez.

Pour avoir des liaisons natives de façon permanente, ajoutez les commandes à ~/.bashrc ou ~/.zshrc, en fonction du shell utilisé. Si vous voulez juste tester les choses, entrez ceci directement sur le shell, n'oubliez pas que le nouveau réglage ne colle pas de cette façon.
Cela fonctionnera également sur Windows si vous avez un shell installé (que ce soit via bash git ou via cygwin.).

+1

changé en "set -o vi", je suis confus car beaucoup de gens rapportent "set + o vi", ça ne marche pas pour moi (linux) mais ça peut être la bonne syntaxe sur BSD/OSX? ... n'hésitez pas à revenir à "set + o vi" si cela est correct sur "more systems" – jcr

3

SJA est proche mais il manque l'élément essentiel:

set -o vi vous donne des liaisons vim

puis appuyez sur v pour modifier votre ligne actuelle dans vim

la souris est presque toujours plus efficace en sélectionnant le texte, vim ou no vim, donc nous la souris pour cela.

+3

Je suis très fortement en désaccord avec l'idée que la souris est plus efficace pour la sélection de texte. Le mode visuel est fantastique. Et je peux penser à BEAUCOUP d'exemples de cela étant beaucoup plus rapide que mettre en évidence. Un serait de sélectionner un fichier entier: 'ggvG' (à partir de n'importe où dans le fichier). Ou en sélectionnant toute une fonction de style C: '^ v $%' (à partir de n'importe quel point de la ligne, la fonction a été déclarée). Et ce ne sont que deux exemples vraiment rapides de la tête. Je dirais qu'en général vim est MEILLEUR à la sélection du texte. La souris n'est pas rapide ou précise quand il s'agit de texte, pas comparé à vim. – semicolon

Questions connexes