Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

vimをIDEっぽくしたいなぁ7 ~自動コマンドを活用しよう。たまにはvimscriptを書くか。行末のスペース削除や構文チェック~

$
0
0

はじめに

vimをIDEっぽくしたい第7弾!
vimscriptでvimをどんどん拡張しましょう。

今回は自動コマンドを活用し、ファイル保存時に
・行末のスペース削除
・構文チェック(あ、php -lするだけです)
できるようにします。

1443706183q_WmdV1kgCU_Ybf1443706181.gif

今回紹介する内容は大したことありません。
(実際にプラグインを入れたほうが高度なことができますし。。。)
vimscriptに興味をもっていただくきっかけになれば幸いです。
vimscriptに関してはvim-jpの下記のページが大変参考になります。
http://vim-jp.org/vimdoc-ja/

今回やることは1つ! .vimrcに処理を記述するだけ

.vimrcに下記のコードを書いてください。これだけ。

.vimrc
augroup PHP
    autocmd!
    " 文末の半角スペースを削除
    autocmd BufWritePre *.php %s/\s\+$//e
    " PHPLint処理
    autocmd BufWritePost *.php call PHPLint()
augroup END

" PHPLint処理
function PHPLint()
    " php -lの実行結果を変数に代入
    let Lint_Result = system( &ft . ' -l ' . bufname(""))
    " No syntax errorsの文字列がmatchするかチェック
    let Match_Result = matchstr(Lint_Result, 'No syntax errors')
    " エラーがあるときだけLintの結果を出力する
    if len(Match_Result) == 0 | echo Lint_Result | endif
endfunction

やっていることは関数を作って、自動コマンドで読んでいるだけです。
大したことはやってないです。

色々な機能と組み合わせるとIDEっぽく使えます。

vimをIDEっぽくしたいなぁ6 ~SublimeTextのように行またぎの選択(multiple selection)を可能にするvim-multiple-cursorsを導入してみよう~

vimをIDEっぽくしたいなぁ5 ~vimを開いたまま再帰的なgrepをしてプロジェクト内のファイル検索。検索結果一覧から目的箇所へジャンプしましょう。あ、ちゃんと別タブで開きます。~

vimをIDEっぽくしたいなぁ4 ~function,switch,foreachをテンプレファイルにしておいて、ワンタッチで呼び出す。あ、.vimrc使います~

vimをIDEっぽくしたいなぁ3 ~nerdtreeを使い、vimを開いた状態でディレクトリをツリー表示、そこから別ファイルに飛んじゃおう~

vimをIDEっぽくしたいなぁ2 ~taglistを使いメソッド、変数、定数の一覧を表示する~

vimをIDEっぽくしたいなぁ1 ~クラスや関数の宣言元にジャンプする~


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>