Existe-t-il un moyen d'interagir avec le mode ligne de commande tout en restant toujours en position d'origine?
En particulier, les deux actions suivantes sont lourdes, nécessitant de déplacer les doigts vers les touches fléchées et parfois pire, la souris.
- Déplacement: existe-t-il un moyen de se déplacer d'avant en arrière en mode ligne de commande tout en restant dans la position habituelle?
- Comment copier et coller sur la ligne de commande? Je veux dire copier à la fois d'une partie de la ligne de commande elle-même vers une autre partie, ou du texte ou même du presse-papiers.
command-line
Shahbaz
la source
la source
:q
; cela ouvre une nouvelle fenêtre "en forme de tampon", dans laquelle vous pouvez utiliserhjkl
pour le mouvement,y
pour tirer, etc.q:
, non?) Bon à savoir! J'étais accidentellement arrivé par le passé, mais je n'avais pas vraiment pensé à l'utiliser. Cela ne semble pas fonctionner avec/
(recherche).Réponses:
Il y a la ligne de commande (que vous connaissez) et la fenêtre de ligne de commande (la ligne de commande dans un tampon spécial, que vous pouvez modifier comme n'importe quelle autre). Vous entrez dans ce soit via
<C-f>
de la ligne de commande (également pour les/
recherches , etc.) lorsque vous vous sentez le besoin de plus de « pouvoir éditer », ou directement du mode normal via dédiéq:
,q/
etc. commandes.En savoir plus à ce sujet sur
:help command-line-window
.la source
<C-f>
est très utile à savoir, car il fonctionne une fois que vous avez déjà parcouru la moitié de la commande.:
vient presque automatiquement pour moi, donc c'est bien de pouvoir basculer sans revenir en mode normal.En plus de fournir la fenêtre de ligne de commande , Vim offre également quelques fonctionnalités limitées vous permettant d'interagir avec la ligne de commande en mode ligne de commande ( sans utiliser les touches fléchées).
Mouvement
<ctrl-b>
déplacer le curseur au début de la ligne de commande<ctrl-e>
déplacer le curseur à la fin de la ligne de commandeÉdition
<ctrl-h>
supprimer le caractère avant le curseur (comme le retour arrière)<ctrl-w>
supprimer le mot avant le curseur<ctrl-u>
supprimer complètement du curseur au début de la ligne de commandeVous pouvez bien sûr ajouter des mappages de ligne de commande avec
:cnoremap
pour émuler les touches de navigation de certains autres programmes . Ou installez le plug-in RSI de Tim Pope pour utiliser les liaisons Readline standard de facto.Coller
Vous pouvez coller le contenu de n'importe quel registre dans la ligne de commande à la position du curseur en appuyant sur
<ctrl-r>
suivi du caractère spécifiant le registre. par exemple<ctrl-r>
,+
insérera le contenu du presse-papiers dans la ligne de commande;<ctrl-r>
,"
insérera le contenu du registre "sans nom" (c'est-à-dire le contenu de votre dernière suppression ou copie).Voir
:help cmdline.txt
pour plus de détails sur tout ce qui précède.la source
<ctrl-r>
serait particulièrement utile.^R
des macros. Cela m'a permis d'effectuer des manipulations de texte super délicates en tirant une partie du fichier pendant la macro, et plus tard, également pendant la macro, en utilisant la partie tirée dans une longue commande en mode Ex avec^R
. :)