我已在tex.vim
中将命令定义为
setlocal tw=80
:map <F4> {gq}
将当前段落调整为80或更少的列。然而,虽然这可以识别注释并使它们保持原样,但它并不能识别命令。虽然编译没有什么区别,但我喜欢保持我的表格和方程式缩进和组织,这意味着在使用{gq}
时我必须小心。有没有办法定义一个知道这种内容的命令并按原样保留命令?
修改
实施例! 请考虑以下代码
Some generic text to introduce an Eq.:
\begin{equation}
y = ax + b,
\end{equation}
after which there is this long text that should not be more than some $x$ columns but it is, so it should be cut.
使用命令将此段调整为最多80列后,我预计会发生这种情况(emacs会这样做)
Some generic text to introduce an Eq.:
\begin{equation}
y = ax + b,
\end{equation}
after which there is this long text that should not be more than some
$x$ columns but it is, so it should be cut.
但是,使用我预先定义的命令,我得到了这个:
Some generic text to introduce an Eq.: \begin{equation} y = ax + b,
\end{equation} after which there is this long text that should not be more than
some $x$ columns but it is, so it should be cut.
这不是我想要的。
干杯
答案 0 :(得分:0)
您可以替换文字
:%s/.\{80\}/&\r/g
这将在所有行中的第80个字符后面添加一个新行,从而将它们分开。
如果您希望在保存时自动完成此操作,则可以使用autocommand
。
:au BufWritePre *.* :%s/.\{80\}/&\r/g
将此行放在~/.vimrc
文件中。
现在,无论何时保存文件,第80列后的文本都将移至下一行。
(还有其他几种方法可以做到!)