如何阻止VIM转换线端(带spf13线束)

如何阻止VIM转换线端(带spf13线束),vim,debian,line-endings,Vim,Debian,Line Endings,我有VIM 7.3版,其中spf13捆绑包在Debian Linux上运行。我希望vim不要转换任何行尾,只需将它们放在一边。我怎样才能做到这一点呢?我知道发生了什么。首先,我假设vim正在更改我的行尾,因为每当我更改文件中的任何内容,然后查看svn(或git)中的差异时,我都会看到一堆我从未接触过的修改过的行。此外,这些行似乎都没有任何变化,所以我假设发生变化的一定是行的结尾。我错了 这里实际发生的事情是在我的.vimrc文件(随spf13扩展包提供)中使用了autocmd函数,它本质上允许您

我有VIM 7.3版,其中spf13捆绑包在Debian Linux上运行。我希望vim不要转换任何行尾,只需将它们放在一边。我怎样才能做到这一点呢?

我知道发生了什么。首先,我假设vim正在更改我的行尾,因为每当我更改文件中的任何内容,然后查看svn(或git)中的差异时,我都会看到一堆我从未接触过的修改过的行。此外,这些行似乎都没有任何变化,所以我假设发生变化的一定是行的结尾。我错了

这里实际发生的事情是在我的.vimrc文件(随spf13扩展包提供)中使用了autocmd函数,它本质上允许您在加载或保存代码时自动修改代码。在我的例子中,更改的行被更改,因为它们在最后一个可见字符之后有额外的空格,并且autocmd正在删除这些空格

解决方案:


注释掉.vimrc中以autocmd开头的所有行(这是通过在它们前面加上“)

我知道发生了什么。首先,我假设vim正在更改我的行结尾,因为每当我更改文件中的任何内容,然后查看svn中的差异(或git相同的东西)我会看到一堆我从未接触过的被修改过的行。而且,这些行似乎都没有任何变化,所以我认为改变的一定是行的结尾。我错了

这里实际发生的是我的.vimrc文件(随spf13扩展包提供)使用了autocmd函数,它本质上允许您在加载或保存代码时自动修改代码。在我的例子中,更改的行被更改,因为它们在最后一个可见字符后有额外的空格,而autocmd正在删除这些空格

解决方案:


注释掉.vimrc中以autocmd开头的任何行(这是通过在它们前面加一个“

来完成的)。您还可以编辑~/.vimrc.before文件并取消注释:

let g:spf13_keep_trailing_whitespace = 1

这在不编辑主.vimrc文件的情况下应该具有相同的效果

您还可以编辑~/.vimrc.before文件并取消注释:

let g:spf13_keep_trailing_whitespace = 1
这在不编辑main.vimrc文件的情况下应该具有相同的效果,如spf-13和Janus,Vim“发行版”会通过快速安装和开箱即用的设置吸引您,但您付出的代价是增加了复杂性(您需要了解Vim的运行时加载方案和发行版的任意约定)和不灵活(分布可能使一些事情更容易,但其他事情非常困难)。Vim的可定制性令人难以置信,使用其他人的定制毫无意义。像spf-13和Janus这样的Vim“发行版”通过快速安装和开箱即用的设置吸引您,但您付出的代价是复杂性的增加(您需要了解Vim的运行时加载方案和发行版的任意约定)和不灵活(分布可能使一些事情更容易,但其他事情非常困难)。Vim的可定制性令人难以置信,使用其他人的定制毫无意义。