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

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

oeasy教您玩轉(zhuǎn)vim - 27 - 文件類型

2021-08-25 06:41 作者:oeasy  | 我要投稿

文件類型

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

  • 上次了解了縮進(jìn)的各種方式

    • 正常模式下用 << 縮進(jìn)

    • 插入模式下用 tab 縮進(jìn)

    • 顯示縮進(jìn)情況 :set listchars=eol:$,tab:>-,space:_

  • 有關(guān)于縮進(jìn)對應(yīng)空格數(shù)的參數(shù)

    • expandtab

    • shiftwidth

    • tabstop

    • softtabstop

    • autoindent

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

  • 不同的文件類型可以對應(yīng)不同的縮進(jìn)長度嗎????

檢測文件類型

  • 首先需要檢測文件類型

  • :filetype 可以設(shè)置當(dāng)前文件類型檢測信息

    • :filetype on 檢測文件擴展名

    • :filetype off 取消檢測文件擴展名

  • 如果是.c

    • 并且:filetype on

    • 就可以檢測文件類型為 .c

    • 那我怎么知道 filetype 是什么呢?

  • :set filetype?

    • 結(jié)果是 filetype=c

  • 但是如何單獨設(shè)置 .c 文件縮進(jìn)為 8 呢?

文件類型縮進(jìn)設(shè)置

  • 我們書寫一個 demo.c

  • 可以發(fā)現(xiàn)這個文件 tab 是對應(yīng)著 4 個空格的

  • 如果想單獨設(shè)置 .c 文件類型的縮進(jìn)的話

    • 需要打開文件類型縮進(jìn)的開關(guān)

    • :filetype indent on

找到縮進(jìn)配置文件

  • 系統(tǒng)的配置文件的位置在 /usr/share/vim/vim81/indent/

    • c 縮進(jìn)為 8

    • java 縮進(jìn)為 4

    • html 縮進(jìn)為 2

    • c 對應(yīng) c.vim

    • java 對應(yīng) java.vim

    • html 對應(yīng) html.vim

    • 不同的文件類型可以設(shè)置不同的縮進(jìn)

    • 找到了 /usr/share/vim/vim81/indent/c.vim 就可以設(shè)置c的縮進(jìn)

  • 在最后加上

    • :set et sw=8 ts=8 sts=8 ai

  • 然后退出并重新打開 demo.c

  • 再gg=G

  • 就可以按照新設(shè)置的 /usr/share/vim/vim81/indent/c.vim來重新控制縮進(jìn)了

更改文件類型

  • 我們打開 demo.c 時,系統(tǒng)會檢測他的文件類型

  • 但是如果我們非要 要說他是一個 java 文件會如何呢???

  • :set filetype=java

  • 文件對于 include 之類的語法高亮消失了

  • gg=G

  • 讓文件縮進(jìn)的數(shù)量變回了 4

    • 按照java文件縮進(jìn)的要求來做

  • 高亮可以根據(jù)文件類型而不同么???

文件類型語法高亮

#找出所有的java.vim文件sudo find / -name "java.vim"  

  • 找出所有和 java 有關(guān)的文件

  • indent 下的 java.vim 負(fù)責(zé)縮進(jìn)

  • syntax 下的 java.vim 負(fù)責(zé)語法高亮

  • 語法高亮的設(shè)置在

    • /usr/share/vim/vim81/syntax/下面

  • :syntax on 可以設(shè)置關(guān)鍵詞高亮,這個是所有語法高亮的根開關(guān)

文件類型的插件

  • 除此之外,也可以加載 java 文件類型的的插件 plugin

    • 文件類型插件可以設(shè)置一鍵編譯運行、跳轉(zhuǎn)到函數(shù)定義之類的

    • 前提是 :set filetype plugin on

  • 文件類型插件的設(shè)置在

    • /usr/share/vim/vim81/ftplugin/下面

    • ftplugin = FileType Plugin

  • 回憶文件類型縮進(jìn)和語法

    • indent 下的 java.vim 負(fù)責(zé)縮進(jìn)

    • syntax 下的 java.vim 負(fù)責(zé)語法高亮

  • ftplugin 下的 java.vim

    • 負(fù)責(zé)針對 java文件類型 的插件

命名規(guī)則

  • 除了對于每個用戶都好使的高亮、縮進(jìn)和插件之外

  • 用戶還可以設(shè)置只對于自己好使的高亮、縮進(jìn)和插件

  • java 語言的插件來舉例

  • 系統(tǒng)通用文件夾

    • /usr/share/vim/vim81/ftplugin/java.vim

    • /usr/share/vim/vim81/ftplugin/java_xxx.vim

    • /usr/share/vim/vim81/ftplugin/java/xxx.vim

  • 用戶專用文件夾

    • ~/.vim/ftplugin/java.vim

    • ~/.vim/ftplugin/java_def.vim

    • ~/.vim/ftplugin/java/header.vim

  • 上面是命名的規(guī)則

    • java 對應(yīng)的就是 filetype

文件夾不存在?

  • 如果沒有文件夾的話就要新建

    • :!mkdir -p ~/.vim/ftplugin

    • 注意是 ftplugin 而不是 plugin

    • plugin 里面的插件全部都被加載

    • ftplugin 里面的插件根據(jù)文件類型加載

嘗試分文件類型進(jìn)行控制

  • 保存后

  • 打開 java 文件時

    • 第三行 set statusline=[oeasy-java]%F%m

    • 狀態(tài)欄告訴我這是 java 文件

  • 打開 css 文件時

    • 狀態(tài)欄告訴我這是 css 文件

    • 第三行 set statusline=[oeasy-css]%F%m

  • 都設(shè)置好之后

  • 分別打開java文件和css文件

強行指定

  • 如果我偏說 css 文件是 java 文件會如何呢?

    • 可以注意到狀態(tài)欄的變化

    • 由于不同文件類型 filetypesyntax 文件不同

    • css 的語法去標(biāo)注 java 的高亮組

    • 所以高亮顯示的狀態(tài)也不同

總結(jié)

  • 根據(jù)擴展名我們可以設(shè)置某些特定類型文件的配置

  • 相關(guān)文件類型的設(shè)置放在相應(yīng)的文件夾里

  • 文件類型縮進(jìn)文件夾

    • /usr/share/vim/vim81/indent/

  • 文件類型語法高亮文件夾

    • /usr/share/vim/vim81/syntax/

  • 文件類型插件文件夾

    • ~/.vim/ftplugin/java.vim

    • ~/.vim/ftplugin/java_def.vim

    • ~/.vim/ftplugin/java/header.vim

    • /usr/share/vim/vim81/ftplugin/java.vim

    • /usr/share/vim/vim81/ftplugin/java_xxx.vim

    • /usr/share/vim/vim81/ftplugin/java/xxx.vim

    • 系統(tǒng)通用文件夾

    • 用戶專用插件文件夾

  • 在 文件夾~/.vim/ftplugin中 的 html.vim 的設(shè)置

    • 只針對 html

    • 包括文件的縮進(jìn)、配色、語法高亮、行號、狀態(tài)欄等

  • :filetype indent on 文件類型縮進(jìn)生效

  • :filetype syntax on 文件類型語法高亮生效

  • :filetype plugin on 文件類型插件生效

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

  • 下次再說 *


oeasy教您玩轉(zhuǎn)vim - 27 - 文件類型的評論 (共 條)

分享到微博請遵守國家法律
阿拉尔市| 武义县| 怀来县| 洛阳市| 哈尔滨市| 耒阳市| 太保市| 马鞍山市| 马山县| 利川市| 南康市| 灵山县| 中山市| 五指山市| 客服| 金川县| 逊克县| 芜湖市| 永新县| 婺源县| 莱阳市| 宜黄县| 枞阳县| 上高县| 周至县| 曲阜市| 醴陵市| 潜山县| 婺源县| 信阳市| 瑞丽市| 双辽市| 崇州市| 收藏| 喀什市| 隆昌县| 清徐县| 格尔木市| 大竹县| 黔西| 石棉县|