如何解决vim缩进不保留间距
以下是我在 vim 中放入的示例文本,只有空格没有使用制表符。
dog;
dogcat
dogcatmoose
Box
Box car
woop
woopadoop
dog;
dogcat
dogcatmoose
Box
Box car
woop
woopadoop
不保留原始间距。我不希望那样,我希望保留间距,因此看起来像这样:
dog;
dogcat
dogcatmoose
Box
Box car
woop
woopadoop
我用制表符而不是空格进行了测试。使用制表符时,缩进保留制表符。 这是我的 vimrc。这里有什么价值导致这个问题吗?有没有我可以添加的值来解决问题?
set number
set Nowrap
set linebreak
set tabstop=4
set softtabstop=4
set shiftwidth=4
set shiftround
set expandtab
set title
set mouse=a
set hlsearch
set smarttab
set autoindent
set smartindent
set background=dark
filetype indent on
set filetype=html
set smartindent
set nocompatible
filetype off
set nobackup noswapfile
set clipboard=unnamed
let &colorcolumn=join(range(81,999),",")
highlight ColorColumn ctermbg=235 guibg=#2c2d27
"Stop vm from indenting on comment out sections starting with "#"
set indentkeys-=0#
解决方法
我的建议是去掉 set shiftround
。
似乎 set shiftround
加上 set shiftwidth=4
导致了这种行为。 shiftround
尝试将文本缩进为 4 的倍数(由 shiftwidth
设置),而您的文本缩进 2 个空格。因此,当您执行 >
时,shiftround
使所有行都具有相同的 4 个空格缩进。您可以使用相同的文本但使用 4 个空格缩进进行实验;您的设置将保留缩进。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。