blogs.perl.org |http://blogs.perl.org/mt/mt-cp.fcgi?__mode=view&id=3159
Wiki |http://tinypig.pbworks.com/
Tumblr |http://tinypigdotcom.tumblr.com/
WordPress |http://tinypig.wordpress.com/
Perl Monks |http://www.perlmonks.org/?node=tinypig
GitHub |https://github.com/tinypigdotcom
My HTML links template I want to add them to is basically this:
<h3>Links</h3>
<ul>
<li><a href="">LINK</a><br/></li>
</ul>
Appending the first file to the second, I get this:
<h3>Links</h3>
<ul>
<li><a href="">LINK</a><br/></li>
</ul>
blogs.perl.org |http://blogs.perl.org/mt/mt-cp.fcgi?__mode=view&id=3159
Wiki |http://tinypig.pbworks.com/
Tumblr |http://tinypigdotcom.tumblr.com/
WordPress |http://tinypig.wordpress.com/
Perl Monks |http://www.perlmonks.org/?node=tinypig
GitHub |https://github.com/tinypigdotcom
Note the pipes (
|) separating the columns. Having these (or some other unique character) make it much easier to work with the data because we can use Vim’s F find command to move to the exact location we need. Also note there should be a blank line at the end of the file so that we can go down successfully and our find on the pipe symbol will fail, ending the recursive macro.| Step | Keys | Meaning |
|---|---|---|
| 1 | qqq | Start and immediately stop recording macro into buffer ‘q’, to empty it |
| 2 | qq | Start recording a macro into buffer ‘q’ |
| 3 | 0 | Go to the beginning of the line |
| 4 | f| | Find the next pipe symbol |
| 5 | 0 | Go to the beginning of the line |
| 6 | 3k | Go up three times |
| 7 | Y | “Yank” the current line (in this case, the link template line) into the buffer |
| 8 | p | Immediately “put” the line right below, effectively duplicating it |
| 9 | 3j | Go down three times |
| 10 | dt| | “Delete to” pipe, which also captures the deleted text into the buffer |
| 11 | 4k | Go up four times |
| 12 | f>f> | Find greater-than symbol, then find the next one |
| 13 | p | “Put” the buffer (the data from the first column we deleted 3 steps back) |
| 14 | ge | “Go” to the “end” of the previous word |
| 15 | l | Go right |
| 16 | dt< | Delete to greater-than symbol, effectively removing trailing space |
| 17 | 0 | Go to the beginning of the line |
| 18 | 4j | Go down four times |
| 19 | l | Go right, skipping over the pipe symbol |
| 20 | D | Delete the rest of the line (again capturing the text) |
| 21 | 4k | Go up four times |
| 22 | f" | Find next quote symbol in the current line |
| 23 | p | “Put” the buffer (data from the second column) |
| 24 | 0 | Go to the beginning of the line |
| 25 | 4j | Go down four times |
| 26 | dd | Delete the current line |
| 27 | @q | Add the instruction to start running macro ‘q’ again, creating the recursive call |
| 28 | q | Stop recording |
| 29 | @q | Actually run macro ‘q’ |
Here’s what it looks like in practice:


No comments:
Post a Comment