2009-06-23 13 views
1

Lorsque je retire une ligne entière et que j'appuie sur p, Vim crée une nouvelle ligne pour placer le texte saisi, en raison des caractères de retour à la ligne. Mais si je retire une partie d'une ligne, y a-t-il un moyen de mettre ce texte tiré dans une nouvelle ligne? Je le fais actuellement oESCp. Est-ce le seul moyen?Existe-t-il un équivalent à o- <esc> -p dans Vim?

Répondre

8

Voici votre réponse de Vim aide:

:[line]pu[t] [x]  Put the text [from register x] after [line] (default 
         current line). This always works |linewise|, thus 
         this command can be used to put a yanked block as new 
         lines. 
         The cursor is left on the first non-blank in the last 
         new line. 
         The register can also be '=' followed by an optional 
         expression. The expression continues until the end of 
         the command. You need to escape the '|' and '"' 
         characters to prevent them from terminating the 
         command. Example: > 
           :put ='path' . \",/test\" 
<      If there is no expression after '=', Vim uses the 
         previous expression. You can see it with ":dis =". 

:[line]pu[t]! [x]  Put the text [from register x] before [line] (default 
         current line). 

Mais côlon-pu-entrer est plus frappes de toute façon =/

+0

Bonne réponse, cela pourrait certainement être lié à une autre séquence de touches pour couper les frappes si elle était utilisée fréquemment. –

+0

Même si le nombre de frappes est plus élevé, cela permet d'économiser l'entrée et la sortie du mode d'insertion, ce qui donne généralement l'impression de gagner du temps (vous n'avez pas besoin d'atteindre ESC). –

6

Theres o (cr) 0 comme vous pouvez toujours coller des registres pendant que votre en mode insertion mais c'est seulement si vous voulez rester en mode insertion après le collage

+0

La réponse ou non, c'est freakin cool – bfabry