On Apr 4, 2011, at 5:31 PM, Daniel M. Eldridge wrote: > I have a file that consists of approx 400K lines and 25762K chars > > this work is the result of someone who has copied existing files onto itself > multiple times. > > In an effort to "decrypt" this mess I am: > a) inserting .pp to indicate paragraph beginnings > b) replacing sentence endings with \r so that each line consists of one > "sentence." > c) sorting all of the lines so that I can use uniq to generate a list of > unique sentences. > > While this works it fails to provide any context, therefore I want to insert > the line number @ the beginning of each line and follow it with a tab and > then have uniq ignore the first field with: > uniq --skip-fields=1 > > or, if I pad line numbers with leading zeros I could use: > uniq --skipchars=6 > > So my question is: > How do I insert the current line number into a text file; how can I do this > while padding to six digits?
This should do the trick: :%s/^/\=repeat(0,6-len(line('.'))).line('.').'^I'/ ^I represents a tab. It adds the number of zeros, the line number and the tab. It uses :help sub-replace-expression Israel -- You received this message from the "vim_use" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php