我想在其他人的项目上工作,他使用4个空格进行缩进。我使用2,我的屏幕不够大,无法轻松地使用4个空间进行编辑。
我是否可以将Vim配置为显示2个缩进空格,但是将4写入文件?
答案 0 :(得分:7)
这与被问及的here相反。
是的,你可以!如果你有“隐藏”选项,你可以尝试一下。
:syntax match spaces / / conceal cchar= "Don't forget the space after cchar!
:set concealcursor=nvi
:set conceallevel=1
以下是这些命令的作用:
您仍然必须将tabstop
,softtabstop
和shiftwidth
设置为4
,但看起来且感觉喜欢它是2
!但是,当您编写文件时,它确实是4
。
如果你想隐瞒隐瞒,你可以做以下两件事之一:
:syntax clear spaces
或:set concealcursor=
答案 1 :(得分:4)
帮助有一个类似不同标签宽度用例的示例,请参阅:help retab-example
。
使其适应于减半/加倍空间:
:autocmd BufReadPost,BufWritePost * %substitute/^\( \+\)\1/\1/e
:autocmd BufWritePre * %substitute/^ \+/&&/e
答案 2 :(得分:0)
如果他使用真正的空格而不是标签(它听起来像),不,你不能让vim显示2个空格,其中有4个。但是,你可以告诉vim以下命令将所有4个空格组替换为制表符,然后将它们显示为2个空格。
:set tabstop=4 ! display a tab as 4 columns
:set shiftwidth=4
:set noexpandtab
:gg=G ! convert the whole file to tabs
:set tabstop=2 !display a tab as 2 columns
:set shiftwidth=2
当您准备好提交作品时,
:set tabstop=4
:set shiftwidth=4
:set expandtab
:%retab
应该将其转换回来。