There are at least five ways to pronounce ough:


tough, enough (rhymes with cuff)
through (rhymes with blue)
trough, cough (rhymes with off)
ought, bought (rhymes with caught)
bough (rhymes with cow)


As for the rules, the only one I can think of is that the pronunciation found in thought only happens with the ough is followed by a "t". Other than that, there's really no way to tell by looking at the word. 

I remember the first time I met someone with the last name of Gough. I didn't know if it was pronounced as "go", "goff", "guff", or "gow" (that last one rhyming with "now," not "know"). 

English has many letter combinations like this; consider:


earth vs hearth
now vs low
eight vs height
food vs blood
pint vs lint


to name but a few. Some words (like bow and wind) have vowels that can be pronounced two different ways, depending on the meaning of the word, leading to some ambiguous sentences, like this one:


  He took a bow as he gave her a bow.  


It was a tough question. I thought it through, though. Rules for 'ough'?
In vim, I often find myself repeating the same steps to copy a section before making changes to it:


V to start Visual mode linewise
j until I have selected the section I want to copy
y to yank the selection
j to scroll down to the last line of the text I just selected
p to copy the yanked section below the current line
O to start a new blank line above the copied text
ESC to leave insert mode


Is there a more efficient way to accomplish this (or any part of it)? In particular, it seems like there should be a better way to put text below the selection you just selected, rather than scrolling down to select it, yanking it, and scrolling down to the bottom again.
