最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

oeasy教您玩轉vim - 26 - 縮進設置

2021-08-24 08:27 作者:oeasy  | 我要投稿

縮進設置

回憶上節(jié)課內容??

  • 這次了解了顏色的細節(jié)

  • 設置 256 色模式

    • :set t_Co=256

  • 然后確定了具體的各種顏色

  • 還可以生成網頁 :TOhtml

  • 還有什么好玩的么???

縮進設置

  • 在正常模式下

    • 使用 << 可以向前縮進

    • 使用 >> 可以向后縮進

    • =可以讓當前行自動縮進

  • 使用gg=G

    • 可以從頭自動縮進到結尾

  • 這超爽??

顯示縮進

  • 我們編程的時候會遇到縮進

    • 這縮進究竟是 空格 呢?還是 tab 呢?

    • 要把 空格tab 區(qū)別開來

  • :set list 使得列表生效

    • tab會被顯示為 ^I

    • 行尾會顯示 $

  • :set nolist 使得列表失效

    • tab會被顯示為空格縮進

  • 但是好像縮進看起來只有兩格了

  • 與實際不符

  • 能修改么?

定制 tab 顯示

  • 把特殊字符作為 listchars 組顯示出來

  • :set listchars

  • 設置 listchars

  • :set listchars=eol:$,tab:>-,space:_

    • tab 對應 >-

    • > 是開頭

    • - 在后面補位

  • space 對應 _

  • eol 對應 $

  • :h listchars可以查看相關手冊

空格顏色

  • :hi SpecialKey ctermfg=DarkRed guifg=grey70

    • 設置 listchars 相應的顏色

    • 設置得特殊一點

最終效果

  • 建議統(tǒng)一能用 tab 的時候就用 tab

  • 減小文件容量

基礎

  • shiftwidth值是整個縮進的基礎

  • :set shiftwidth=4

    • shiftwidth 是一個基礎的值,對應

    • 按下 >> 縮進的寬度

    • 按下tab縮進的寬度

    • 退格或者刪除 \t 時縮進的寬度

  • 一般 tabstopsofttabstop 都與他相同

    • 一般都是 4

    • 如果 shiftwidth 是 0 的話

    • 就按照 tabstop

解釋 tab 寬度

  • tabstop讀取文件 時用到的

  • 讀到 \t 字符時

  • 解釋他對應多少個空格的寬度

  • 一般都是 4 個空格

softtabstop 處理空格的數(shù)量

  • 如果 softtabstop 等于 0

    • 特性取消,一切按照 tabstop

  • 如果 tabstop=4softtabstop=8

    • 可以試試,能看出來

    • 1 次刪除空格 8 個

    • 看起來像刪了兩個 tab

    • 一次插入 8 個位置

    • 看起來像插了兩個 tab

    • 按下tab時

    • 要刪除 tab 時

  • 當他是負數(shù)的時候 shiftwidth 起作用

  • 所以說 shiftwidth 是基礎

擴展 tab

  • :set expandtab

    • 可以把輸入的 tab 變成空格

  • 設置好之后,在正常模式下

    • >>

    • 或者在插入模式下tab的時候

    • 都看不到 >---,而是直接變成空格 _

  • 反之 :set noexpandtab 之后

    • 插入的 tab 都還是 >---

  • :h expandtab 可以查看相關手冊

    • expandtab 可以簡寫為 et

  • 那已經存在的tab怎么辦呢?

強制拓展

  • :retab!

  • 把已經存在的 tab 強制擴展成為空格

  • 轉過去之后

  • 沒有轉回來的命令

  • 慎重吧

  • 我覺得tab挺好的

回車之后自動縮進

  • :set autoindent

    • 可以簡寫為 :set ai

    • 添加與上一行一致的縮進

    • 取消為 :se noai

  • :set smartindent

    • 簡寫為 :se si

    • autoindent 的基礎上根據(jù) {、} 來調整本行縮進

    • 取消為 :se nosi

    • 需要保證 :se nopaste

  • :set cindent

    • 根據(jù)類似于 c、java 的代碼動態(tài)調節(jié)縮進

    • 見到 if 之類的可以自動縮進

    • 取消為 :set nocindent

整體設定為

  • :set noexpandtab

  • :set shiftwidth = 4

  • :set tabstop =4

  • :set softtabstop=4

  • :set autoindent

  • 簡寫為 :set noet sw=4 ts=4 sts=4 ai

  • 這都個人喜好

  • 沒有絕對規(guī)定

總結

  • 這次了解了縮進的各種方式

  • 正常模式下用 << 縮進

  • 插入模式下用 tab 縮進

  • 有關于縮進對應空格數(shù)的參數(shù)

    • expandtab

    • shiftwidth

    • tabstop

    • softtabstop

    • autoindent

  • 不同的文件類型可以對應不同的縮進嗎????

    • python、java縮進4個

    • html、css可以縮進2個

  • 下次再說 *


oeasy教您玩轉vim - 26 - 縮進設置的評論 (共 條)

分享到微博請遵守國家法律
乐至县| 托克托县| 岳阳市| 金塔县| 南和县| 台山市| 呼图壁县| 咸阳市| 砀山县| 正阳县| 兴义市| 定西市| 德阳市| 吐鲁番市| 易门县| 东明县| 南溪县| 千阳县| 冀州市| 萝北县| 嫩江县| 夏河县| 黄冈市| 辰溪县| 柳州市| 新田县| 枣庄市| 常山县| 大石桥市| 翁牛特旗| 芜湖县| 黄骅市| 泽普县| 如东县| 沙田区| 灵璧县| 连南| 长汀县| 嘉定区| 盐池县| 明溪县|