【cygwin/vim】script.shの1行目がscript.plと同じように水色になって欲しい。(解決)
自己解決(2020-08-24追記)
*.sh
のファイルタイプを zsh
とすることで解決しました。
現象
cygwin+vimの環境(恐らくcygwin環境でなくても、vimであれば同様の現象と予想)で、bashのスクリプトを編集すると「#!/usr/bin/bash」がコメント色になります。
対して、Perlやzshのスクリプトは「#!/usr/bin/perl」「#!usr/bin/zh」の行が、コメント行とは異なる色(水色)になります。
希望
- bashのスクリプトでも1行目の「#!/usr/bin/bash」を水色にしたい。
- とりあえずは、~/.vimsrcに「.shなら1行目の"#!"は水色」で
- ダメなら「1行目の"#!"は水色」
- それもダメなら「とにかく1行目は水色」でも…
- ダメなら「1行目の"#!"は水色」
- 理想は「~/vim/」以下に「sh.vim」をおいてカッコ良くやりたい。
- /usr/share/vim/vim92 以下のファイルをイジるのはなし
質問
- どうすればいいのでしょうか?
現在までに確認していること
- 動作的なことで分かったこと
- 中身がbashであっても、拡張子が「.zsh」「.pl」だと1行目は水色になる。
- 「#」まではコメント色「#!」となると水色になる。
- /usr/share/vim/vim82について
- script.vimが関わっている
- syntax/sh.vim,bash.vim,zsh.vim,perl.vimが関わっている
- syntax/zsh.vimについて
- 「hi def link」で始まる行がキーワードの設定
- どれが「#!」に関わるのか?
- 「hi def link」で始まる行がキーワードの設定
- syntax/perl.vimについて
- 「PreProc」が「#!」に関わっているようだ。
- 1行目に限定して「#!」をマッチさせるロジックが分からない。
~/.vimrc
(2020-08-24追記)
現在の ~/.vimrc
です。colorscheme
も設定しました。
set nocompatible
set fileencoding=utf-8
set ruler
set number
set autoindent
set cursorline
set cursorlineopt=number,line
set backspace=indent,eol,start
syntax on
set hlsearch
set t_Co=256
set listchars=tab:>-,nbsp:.,trail:_
"色の設定
colorscheme slate
highlight LineNr ctermfg=darkgray
autocmd SourcePost * highlight Search ctermfg=red
autocmd SourcePost * highlight Search ctermbg=darkblue
autocmd SourcePost * highlight Comment ctermfg=blue
autocmd BufRead,BufNewFile *.sh set filetype=zsh
autocmd BufRead,BufNewFile *.html set filetype=htmldjango
autocmd BufRead,BufNewFile *.raw set filetype=html
autocmd BufRead,BufNewFile *.sed set filetype=html
1