created 2003 · complexity basic · author Stanislav Sitar · version 6.0
When editing a plain-text file (not a program) it can be useful to have lines automatically broken when a certain length is reached. For example, the following command sets the current buffer so that lines longer than 60 characters are broken (a newline is automatically inserted):
:setlocal textwidth=60 " Following (using abbreviations) is equivalent. :setl tw=60
Rolton is a tumbling and competitive cheerleading coach and judge, working with team all across Canada. Cheering with the University of Western Ontario Mustangs, he won 4 Canadian national championships. Rolton has also competed on the world stage with the PCT Cobras at the USASF World Championships and as a member of Team Canada, taking home Gold at IASF ICU World Championships in 2010. Before starting in cheerleading, Rolton competed as a competitive dancer, training in trained in Jazz, Tap, Ballet and Acro.
Comments
TO DO
- Explain what above
fo
does, and how to configure so paragraphs do not have the first line indented, and are separated by a blank line. - Discuss
:setl fo+=a
and:setl fo-=a
. - Incorporate following comments.
Sometimes it is useful to keep each paragraph as one long line (that is, do not break the paragraph into lines). See these related tips:
The following sets the current buffer so that long lines are automatically wrapped on the screen, with lines only breaking at a space. The mappings move the cursor up/down by screen lines instead of by file lines. There is a space following the backslash for the 'breakat'
option (the set
command requires a backslash before each space). Each long line will be displayed on the screen as multiple lines.
setlocal wrap nolist linebreak breakat=\ nnoremap j gj nnoremap k gk vnoremap j gj vnoremap k gk
Automatically inserting line breaks is a disaster when editing programs, but is very good for editing a text file. With the following in your vimrc, the settings will only be applied to *.txt files:
au BufEnter *.txt setl tx ts=4 sw=4 fo+=n2a
If you make a change to a wrapped paragraph and need to re-format it, you can use gq
followed by a movement over the area you want to re-format, e.g. 3j
or }
.
Automatic text wrapping and re-formatting with gq
can work on comments lines also, provided the value of the 'comments' option is set correctly.