我想在別人的項目上工作,他使用4個空格作爲縮進。我使用2,我的屏幕不夠大,無法使用4個空格進行編輯。Vim可以顯示兩個空格用於縮進,同時在文件中保留四個空格?
我可以配置Vim爲縮進顯示2個空格,但是將4寫入文件?
我想在別人的項目上工作,他使用4個空格作爲縮進。我使用2,我的屏幕不夠大,無法使用4個空格進行編輯。Vim可以顯示兩個空格用於縮進,同時在文件中保留四個空格?
我可以配置Vim爲縮進顯示2個空格,但是將4寫入文件?
如果他使用真正的空格而不是製表符(它聽起來像),否則不能讓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
應該把它轉換回來。
該幫助有一個類似不同標籤寬度用例的示例,請參閱:help retab-example
。
適應,要減半/加倍空間:
:autocmd BufReadPost,BufWritePost * %substitute/^\(\+\)\1/\1/e
:autocmd BufWritePre * %substitute/^ \+/&&/e
這是什麼問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=
這是偉大的下擴大!它運行在所有文件上,還是僅運行在當前的文件上? –
用'*',全部。請參閱':help autocmd-patterns'來了解如何影響它。 –