vimのシェルスクリプトのインデントがおかしい問題の解決方法
追記:
こんな記事を書いたのはいいのだけれど何気なしにtwitterを眺めていたら
case文のインデントが
できないという人がいましてその人は自己解決していたのでそちらに誘導します
https://twitter.com/adogear/status/215757105901207552
詳しく説明すると
http://www.vim.org/scripts/script.php?script_id=1632
このsh.vimを入手してvimrcに
let g:sh_indent_case_labels=1
を追加するだけです
前に紹介したsh.vimだと私もcase文だとうまくインデントされませんでした
申し訳ないです
以下は追記前の内容:
もしかしたら日本語で検索してなかなか見つけられない人がいるかもしれないのでメモ
Super Shell Indent - Improved indentation for shell scripts : vim online
これを使うだけで簡単にインデントが正しくなりました
例えば
func_install(){ echo "${HOME_DOTFILES}"|\ while read TMP do echo "install ~/${TMP}" ln -s ${PWD}/${TMP} ~/${TMP} done } func_clean(){ echo "${HOME_DOTFILES}"|\ while read TMP do echo "clean ~/${TMP}" rm ~/${TMP} done } func_pretend(){ echo "${HOME_DOTFILES}"|\ while read TMP do echo "pretend ${PWD}/${TMP} -> ${HOME}/${TMP}" done }
このようにずれていたのが
func_install(){ echo "${HOME_DOTFILES}"|\ while read TMP do echo "install ~/${TMP}" ln -s ${PWD}/${TMP} ~/${TMP} done } func_clean(){ echo "${HOME_DOTFILES}"|\ while read TMP do echo "clean ~/${TMP}" rm ~/${TMP} done } func_pretend(){ echo "${HOME_DOTFILES}"|\ while read TMP do echo "pretend ${PWD}/${TMP} -> ${HOME}/${TMP}" done }
こうなって理想通りになります