Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Vim auto line-break

When I'm writing a long line of text in vim (such as a paragraph in latex), it wraps my text into multiple lines which is good. However, if I then try to navigate these lines with 'j' and 'k' (or the up/down arrows) it will skip the entire paragraph. I fixed this problem by highlighting the paragraph and pressing gq. This inserts line breaks at the end of each line.

My question is, is there a way to automate this, so I don't have to keep highlighting text and pressing gq?

like image 624
Eddy Avatar asked Feb 03 '12 15:02

Eddy


2 Answers

You can limit the width of a line with the textwidth option (see :help tw).

For example, if you want to limit the width to 80 columns, you can use:

:set tw=80 

With this option, when you will type something longer than 80 columns, Vim will automatically insert a newline character.

like image 147
Sylvain Cleymans Avatar answered Oct 14 '22 05:10

Sylvain Cleymans


You need to step back a little and use gj and gk which go down and up inside wrapped lines.

Since gjand gk work exactly the same as j and k in non-wrapped lines you can safely map j or <down> to gj and k or <up> to gk making it all seamless.

-- EDIT --

Yes it doesn't adress Eddy's immediate problem but it solves his original problem (vertical movement in wrapped lines) which led him to a poor workaround that, in turn, put him in this situation.

like image 23
romainl Avatar answered Oct 14 '22 07:10

romainl