.bashrc 越寫越多,想要將 alias、function 等等拆開,但是遇到 Vim Syntax Highlight 預設不支援的問題,要怎麼解決呢?
- 註:於檔案最後面加上 # vim: syntax=sh 沒有效用
Vim 指定 檔案名稱 使用特定的 Syntax
想要指定檔案名稱,給他特定的 filetype 或 syntax,可以在 .vimrc 寫下述:(FILENAME 改成指定的檔案名稱即可)
- autocmd BufRead,BufNewFile FILENAME set filetype=sh " 只要指定 filetype
- autocmd BufRead,BufNewFile FILENAME set syntax=sh " 只要指定 syntax
- autocmd BufRead,BufNewFile FILENAME set filetype=sh syntax=sh " 全部都一起設定上去
- autocmd BufRead,BufNewFile FILENAME* set filetype=sh syntax=sh " * 可以代表之後全部都支援
- ex: autocmd BufRead,BufNewFile .bashrc set filetype=sh syntax=sh " 全部都一起設定上去
- ex: autocmd BufRead,BufNewFile .bash* set filetype=sh syntax=sh " * 可以代表之後全部都支援
對 bashrc 剛開始拆分的想法,分成下述:
- .bash_aliases # 這個 .bashrc 內建就有寫好下述可以使用
if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi
- .bash_function # 自己寫得 function
- .bash_company # 某些公司特定需要的 function
依照上述的設定方式:
- vim .vimrc
" .bash_alias, .bash_function, .bash_* 要 syntax highlight autocmd BufRead,BufNewFile .bash_* set filetype=sh syntax=sh - 開啟測試看看即可
不過後來覺得這樣子切太細,function 不好找,而且多機器不方面 copy,最後乾脆 alias、function 等等,全部整合到 .bash_aliases。
.bash_aliases 的好處是,只要 copy 到那台機器,.bashrc 預設就會載入進去,就可以通吃囉~