Je souhaite souvent copier du texte d'une fenêtre : terminal vers un tampon de texte normal. Pour le moment, je quitte la session shell et copie de l'historique.
Il doit y avoir une meilleure façon de procéder.
3 Réponses :
Pour copier depuis une fenêtre de terminal, appuyez sur CTRL-W N (Ceci est un N majuscule) 1 ou CTRL- \ CTRL-N (ce n'est pas un N majuscule) pour passer en mode normal. De là, vous pouvez utiliser toutes les commandes vim habituelles pour copier et coller des éléments.
L'entrée en mode insertion vous ramènera à votre shell.
Pour coller à partir d'un registre dans la fenêtre du terminal, vous devez être en mode Terminal-Job ("insert").
Appuyez sur CTRL-W " puis sur le registre.
: help Terminal-mode nous dit:
Lorsque le travail est en cours d'exécution, le contenu du terminal est sous le contrôle du emploi. Cela inclut la position du curseur. Les clés tapées sont envoyées au travail. Le contenu du terminal peut changer à tout moment. Cela s'appelle Terminal-Job mode.
Utilisez CTRL-W N (ou 'termkey' N) pour passer en mode Terminal-Normal. Maintenant le le contenu de la fenêtre du terminal est sous le contrôle de Vim, la sortie du travail est suspendu. CTRL- \ CTRL-N fait de même.
[...]
En mode Terminal-Normal, vous pouvez déplacer le curseur avec le Vim habituel commandes, marquer visuellement du texte, copier du texte, etc. contenu du tampon. Les commandes qui lanceraient le mode insertion, telles que 'i' et 'a', revenez en mode Terminal-Job.
Voir : h terminal-typing pour des commandes plus utiles dans les fenêtres de terminal.
1 Malheureusement, l'aide de vim ne vous dit pas que c'est un N majuscule, j'ai gardé la notation d'origine
Que la lumière soit!
Définissez le paramètre du presse-papiers dans votre .vimrc pour utiliser le presse-papiers système comme presse-papiers de Vim. Cela dépend de votre système d'exploitation, cela peut différer, supposons que vous utilisez Mac OS: set clipboard = unamedplus
Ensuite, vous pouvez utiliser la commande y pour copier puis coller sur une autre application juste par Cmd + V, n'oubliez pas de quitter le mode insertion du terminal en cliquant n'importe où ou en appuyant sur Ctrl + \ Ctrl + n
Peut utiliser Shift + Insert comme raccourci pour coller du presse-papiers dans une session de terminal en cours d'exécution. Configurez le mappage comme
:tmap <S-Insert> <C-W>"+
Cela entraînera un collage à partir du registre + . Vous pouvez également utiliser le registre * qui fonctionne parfois mieux sous MS Windows.