Vim 自动换行
当我在 vim 中编写一长行文本(例如在 Latex 中编写一个段落)时,它会将我的文本包装成多行,这很好。但是,如果我随后尝试使用“j”和“k”(或向上/向下箭头)导航这些行,它将跳过整个段落。我通过突出显示该段落并按 gq
解决了这个问题。这会在每行末尾插入换行符。
我的问题是,有没有办法自动执行此操作,这样我就不必继续突出显示文本并按 gq
?
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
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用
textwidth
选项限制行的宽度(参见
:help tw
)。例如,如果你想将宽度限制为 80 列,你可以使用:
使用此选项,当你输入的内容超过 80 列时,Vim
会自动插入换行符。
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:
With this option, when you will type something longer than 80 columns, Vim
will automatically insert a newline character.
您需要退后一点并使用
gj
和gk
在换行内向下和向上。由于
gj
和gk
的工作方式与非换行中的j
和k
完全相同,因此您可以安全地映射 < code>j 或
到gj
和k
或
到gk
使一切变得无缝。- 编辑 -
是的,它并没有解决艾迪的直接问题,但它解决了他最初的问题(缠绕线中的垂直运动),这导致他找到了一个糟糕的解决方法,反过来又使他陷入了这种境地。
You need to step back a little and use
gj
andgk
which go down and up inside wrapped lines.Since
gj
andgk
work exactly the same asj
andk
in non-wrapped lines you can safely mapj
or<down>
togj
andk
or<up>
togk
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.
这些是我使用的映射。他们处理了我迄今为止遇到的所有案件。
These are the mappings I use. They handle all the cases I have encountered up to now.