neovim で簡単コメントアウトをするプラグイン caw.vim

Read More

色々プログラミングをしているとコメントアウトをする機会があります。
VIMの標準のキー操作でもコメントアウトをすることは可能ですがこの caw.vim は様々なファイルタイプを自動で判断してコメントを入れてくれます。
またコメントの文字を入れる場所も選択することができます。
私みたいにトライ&エラーで色々やるタイプの人には入れておいて損はないプラグインかなと思っています。

# caw comment out
# \c でコメントのon/off
[[plugins]]
repo = 'tyru/caw.vim.git'
on_i = 1
hook_add = '''
                " 行の最初の文字の前にコメント文字をトグル
                nmap c (caw:hatpos:toggle)
                vmap c (caw:hatpos:toggle)
                " 行頭にコメントをトグル
                nmap , (caw:zeropos:toggle)
                vmap , (caw:zeropos:toggle)

'''

実際には \ になります。 \c で最初の文字の前に。 \, で文頭にコメントアウト記号が挿入されます。またコメントアウトされている場合にはコメントアウトを削除する動きとなります。

追記
* 2018/03/07 tyruさんからコメント頂き利用していたマッピングが古かったので修正しました。

neovim での git 環境

Read More

Gitプラグインは特に珍しいものではなく定番ものを2つ程いれてみています。

更新箇所にマークを付ける

[[plugins]]
repo = `airblade/vim-gitgutter'

マーク付いてくれるだけで便利です。次の変更箇所には ]c[c でジャンプすることが出来ます。

Gitのコマンドを実行する

[[plugins]]
repo = 'airblade/vim-gitgutter' 
hook_add = '''
   " 分割画面を縦にする
    set diffopt+=vertical
'''

こちらも代表的なプラグインの一つです。普段から使うのは1つ、2つにですがやはり直接gitコマンドが実行できるのは便利です。
主に利用するのは :Gstatus:Gdiff になります。Gstatusはリストから add / commit が出来るので楽ちんですね。私は git のブランチを作ったりそういったことはターミナルからコマンドで実行しているので主にvim上でのgitの操作は直接差分が見たいときなど編集中に行いたいことになりますのでこの機能で十分満足しています。diffの画像を立て分割にするためにオプションを設定しています。

Vim + ALE + textlint で校正

Read More

先日 Ale + Redpen を試してみましたがこれまで textlint を使っていたので ale に textlint サポートを追加してみました。
textlint が導入されており、カレントディレクトリに .textlintrc がある場合には textlint が動きます。

やっつけで追加しておいたけど一応動いたので PullRequest をしておいた。
追加すると動くコードはこちらを参考にしてください。

カレントに .textlintrc がない時は動かさないという判断をするのがどこでしてよいか分からずShellで書いちゃっていますが。

追記

  • 2018/03/24 リクエストしていた追加したものがマージされていますのでそのままで ALE を入れればそのまま使えます。
  • エラー内容がQuickfixで表示されますが本体をクローズしたらQuickfixがそのまま残っていることがありますので以下のコードを init.vim に追記しておくと一緒に閉じてくれます。
"Quickfixが残っている場合に閉じる
augroup QfAutoCommands
  autocmd!
        " Auto-close quickfix window
        autocmd WinEnter * if (winnr('$') == 1) && (getbufvar(winbufnr(0), '&buftype')) == 'quickfix' | quit | endif
augroup END