Je jouais vimgolf (très addictif en passant) et je ne peux pas comprendre l'une des solutions à ce défi http://vimgolf.com/challenges/4d1a34ccfa85f32065000004
Le défi est de convertir ce text:
Make the pairs of lines match up by making each second line same as first: # Appending text: The name "Vim" is an acronym for "Vi IMproved" The name "Vim" is an acronym for # Editing text: Vim is a text editor originally released by Bram Moolenaar in 1991 for the Amiga Trivia: Vim is a text editor released by Bram Moolenaar in 1991 for the Amiga # Deleting text: Vim has a vi compatibility mode Vim has a vi compatibility mode but when not in this mode Vim has many enhancements over vi
pour ça:
Faites correspondre les paires de lignes en faisant en sorte que chaque seconde ligne soit la même que la première:
# Appending text: The name "Vim" is an acronym for "Vi IMproved" The name "Vim" is an acronym for "Vi IMproved" # Editing text: Vim is a text editor originally released by Bram Moolenaar in 1991 for the Amiga Vim is a text editor originally released by Bram Moolenaar in 1991 for the Amiga # Deleting text: Vim has a vi compatibility mode Vim has a vi compatibility mode
Ma question est, comment la deuxième ligne de cette solution fonctionne:
:g/#/+2d<CR>:<Up><BS><BS>1t.<CR>ZZ
et par la deuxième ligne je veux dire :g/#/+1t.
Comme vous le savez peut-être déjà: g / # / exécute une command pour toutes les lignes contenant un #, qui sont les sujets des différents défis.
Maintenant, comme votre 1ère ligne a supprimé la "mauvaise" ligne, la 2ème copy juste celle qui rest
Vous êtes sur la ligne #, vous avancez d'une ligne (+1) et copyz-la (t) sur la ligne courante (.)
Ce qui laisse 2 lignes identiques.