縮進設(shè)置
回憶上節(jié)課內(nèi)容??
這次了解了顏色的細節(jié)
-
設(shè)置 256 色模式
:set t_Co=256
然后確定了具體的各種顏色
還可以生成網(wǎng)頁
:TOhtml
還有什么好玩的么???
圖片描述
image.gif
縮進設(shè)置
圖片描述
image.gif
-
在正常模式下
- 使用
<<
可以向前縮進 - 使用
>>
可以向后縮進 - = 可以讓當(dāng)前行自動縮進
- 使用
-
使用 g g = G
- 可以從頭自動縮進到結(jié)尾
這超爽??
顯示縮進
-
我們編程的時候會遇到縮進
- 這縮進究竟是
空格
呢唉擂?還是tab
呢矢门? - 要把
空格
和tab
區(qū)別開來
- 這縮進究竟是
-
:set list
使得列表生效- tab 會被顯示為
^I
- 行尾會顯示
$
- tab 會被顯示為
圖片描述
image.gif
-
:set nolist
使得列表失效- tab 會被顯示為空格縮進
圖片描述
image.gif
- 但是好像縮進看起來只有兩格了
- 與實際不符
- 能修改么?
定制 tab 顯示
把特殊字符作為
listchars
組顯示出來:set listchars
設(shè)置
listchars
-
:set listchars=eol:$,tab:>-,space:_
-
tab
對應(yīng)>-
-
>
是開頭 -
-
在后面補位
-
圖片描述
image.gif
-
space
對應(yīng)_
-
eol
對應(yīng)$
-
:h listchars
可以查看相關(guān)手冊
空格顏色
-
:hi SpecialKey ctermfg=DarkRed guifg=grey70
- 設(shè)置
listchars
相應(yīng)的顏色 - 設(shè)置得特殊一點
- 設(shè)置
圖片描述
image.gif
最終效果
圖片描述
image.gif
- 建議統(tǒng)一能用 tab 的時候就用 tab
- 減小文件容量
圖片描述
image.gif
基礎(chǔ)
shiftwidth值是整個縮進的基礎(chǔ)
-
:set shiftwidth=4
-
shiftwidth
是一個基礎(chǔ)的值,對應(yīng) - 按下
>>
縮進的寬度 - 按下 tab 縮進的寬度
- 退格或者刪除
\t
時縮進的寬度
-
-
一般
tabstop
铐达、softtabstop
都與他相同- 一般都是 4
- 如果
shiftwidth
是 0 的話 - 就按照
tabstop
來
解釋 tab 寬度
-
tabstop
是讀取文件
時用到的 - 讀到
\t
字符時 - 解釋他對應(yīng)多少個空格的寬度
- 一般都是 4 個空格
圖片描述
image.gif
softtabstop 處理空格的數(shù)量
-
如果
softtabstop
等于 0- 特性取消,一切按照
tabstop
來
- 特性取消,一切按照
-
如果
tabstop=4
檬果、softtabstop=8
-
按下 tab 時
- 一次插入 8 個位置
- 看起來像插了兩個 tab
-
要刪除 tab 時
- 1 次刪除空格 8 個
- 看起來像刪了兩個 tab
可以試試瓮孙,能看出來
-
當(dāng)他是負數(shù)的時候
shiftwidth
起作用所以說
shiftwidth
是基礎(chǔ)
圖片描述
image.gif
擴展 tab
-
:set expandtab
- 可以把輸入的
tab
變成空格
- 可以把輸入的
-
設(shè)置好之后,在正常模式下
- 或者在插入模式下 tab 的時候
- 都看不到
>---
选脊,而是直接變成空格_
-
反之
:set noexpandtab
之后- 插入的
tab
都還是>---
- 插入的
-
:h expandtab
可以查看相關(guān)手冊-
expandtab
可以簡寫為et
-
圖片描述
image.gif
- 那已經(jīng)存在的tab怎么辦呢杭抠?
強制拓展
:retab!
- 把已經(jīng)存在的 tab 強制擴展成為空格
圖片描述
image.gif
- 轉(zhuǎn)過去之后
- 沒有轉(zhuǎn)回來的命令
- 慎重吧
- 我覺得tab挺好的
回車之后自動縮進
-
:set autoindent
- 可以簡寫為
:set ai
- 添加與上一行一致的縮進
- 取消為
:se noai
- 可以簡寫為
-
:set smartindent
- 簡寫為
:se si
- 在
autoindent
的基礎(chǔ)上根據(jù){
、}
來調(diào)整本行縮進 - 取消為
:se nosi
- 需要保證
:se nopaste
- 簡寫為
-
:set cindent
- 根據(jù)類似于 c知牌、java 的代碼動態(tài)調(diào)節(jié)縮進
- 見到
if
之類的可以自動縮進 - 取消為
:set nocindent
圖片描述
image.gif
整體設(shè)定為
:set noexpandtab
:set shiftwidth = 4
:set tabstop =4
:set softtabstop=4
:set autoindent
- 簡寫為
:set noet sw=4 ts=4 sts=4 ai
- 這都個人喜好
- 沒有絕對規(guī)定
總結(jié)
這次了解了縮進的各種方式
正常模式下用
<<
縮進插入模式下用
tab
縮進-
有關(guān)于縮進對應(yīng)空格數(shù)的參數(shù)
- expandtab
- shiftwidth
- tabstop
- softtabstop
- autoindent
-
不同的文件類型可以對應(yīng)不同的縮進嗎?斤程???
- python角寸、java縮進4個
- html菩混、css可以縮進2個
下次再說 ??