J'aimerais pouvoir coller depuis le presse-papiers du système (ou la sélection de texte) dans mon invite shell "vi-like" en utilisant le clavier. J'utilise normalement zsh et parfois bash. Dans les deux cas, le shell est configuré avec un comportement similaire à vi ( bindkey -v
/ set -o vi
).
Dans vim, le comportement que je recherche est disponible avec la séquence de touches "+p
. Cependant, cette séquence de touches particulière ne fonctionne pas comme prévu dans une invite de shell compatible vi. Existe-t-il un moyen d'activer ceci ou un comportement similaire, en utilisant uniquement le clavier, tout en restant avec des raccourcis clavier de type vi dans une invite de shell zsh ou bash?
-- Éditer --
Cas d'utilisation: je navigue souvent entre Firefox avec l' addon Pentadactyl , un émulateur de terminal et vim lui-même - en utilisant le gestionnaire de fenêtres Xmonad avec des touches personnalisées pour se déplacer. Les trois programmes ont des raccourcis clavier de type vi, ce qui est très efficace (pour la «mémoire des doigts»), il serait donc idéal de communiquer du texte entre eux en utilisant uniquement la syntaxe vim (ou une syntaxe très similaire).
xsel
et copié le code que vous avez suggéré avec une légère modification de mon .zshrc (j'ai choisi '^ P' au lieu de '^ X', en écrasant le comportement d'origine de '^ P')Voici une solution pour zsh (mode vi) qui encapsule les widgets d'origine pour que le presse-papiers soit toujours synchronisé
Remplacez-le
xclip
par votre outil de presse-papiers préféré.la source
xterm-termite
.La sélection et le presse-papiers sont des choses différentes sous X Window, et les "environnements de bureau" à mon humble avis ont tendance à rendre le problème encore plus trouble qu'il ne l'était.
Est-ce que le changement d'insertion vous convient? Sur les applications nues X, il est lié au collage de la sélection lorsqu'une telle liaison est effectuée.
la source
Cette solution fonctionne si vous avez installé
oh-my-zsh
et activé levi-mode
plugin.Gilles'
xsel
etzle
solution ne fonctionne pas pour moi. Cependant, puisque j'ai configuré vim pour utiliser mon presse-papiers système par défaut (set clipboard=unnamedplus
in~/.vimrc
), je tape simplement ven mode normal terminal pour ouvrir la commande en coursvim
et je peux ensuite la copier dans le presse-papiers X avec l'une desvim
commandes yank.la source
:term
Parlez -vous de l'embarqué disponible dans les nouvelles versions de Neovim et Vim?v
en mode normal pour modifier la commande actuellement tapée dans vim au lieu de l'invite du terminal.:term
dans votre réponse, sinon ce n'est pas clair du tout.:term
. Cependant, j'ai découvert que la fonctionnalité à laquelle je fais référence est réellement fournie paroh-my-zsh
. J'ai mis à jour la réponse en conséquence.