浦島太郎
……もうすっかりQiitaで記事を書くことがなくなってしまったんですけど、まぁ別に別なblog使ってるとかではなく、自分が使いたくてvimの話を始めたケースがほぼすべてなくなってしまっているというのが理由だったりします。その間にもこのあたりとかこのあたりとかはいいね改めLGTM改めいいね貰っていたんです。ホンマこんなスクリプトキディの話に乗ってくださってありがとうございます。
気が付けばvimもメジャーバージョンアップして、vimscriptも爆速になったらしいんですけど、まぁそんなのさておきでついこないだまで数年継ぎ足しては使っていた自分のvimrcを先日ついにワイプして設定しなおしたんです。
さて玉手箱の中身は……
使わないものは必要ない
とにかく必要じゃなかったものはそぎ落としてしまいました。
今までQiitaに垂れ流してきた自作のプラグインはほぼすべて外しています。自分流のハックとして残ったものは<Leader>:
でbangし忘れたコマンドをbangしなおすハックくらいですが、これに関しては思いついてやっている人も居そうなやつです。
" bang実行
nnoremap <expr> <Leader>: substitute( @:, '^\(\S\+\)', ':\1!', 'e')
割とお気に入りの方法です。
このほかに……まーバッドノウハウなんですけど、めったに使わないkaoriya版vimのhz_ja.vim
をgithubから読み込んだりしています。
" 必要な時だけ半角全角変換を読み込むやつ
cabbrev hz= source https://raw.githubusercontent.com/koron/vim-kaoriya/master/kaoriya/vim/plugins/kaoriya/plugin/hz_ja.vim
cabbrev HZ= sp +/Japanese\ Description: https://raw.githubusercontent.com/koron/vim-kaoriya/master/kaoriya/vim/plugins/kaoriya/plugin/hz_ja.vim
もっとスマートな方法が、それこそvim-plug使ってそれだけって出来る方法があれば誰か教えてもらえると……。このロードに使う方法がスニペット経由なんですけど、確かこのあたりも村岡師のスパルタンな思想だった気がします。
あと残した有能っぽい方法は、昔秀丸ユーザーだった頃から手放せない「カレント行を計算して計算結果をputするマクロ」です。
function! calcIt#main(...) abort
let formula = len(join(a:000)) > 0 ? join(a:000) : matchstr(getline('.'), '^=\?\zs.*')
let answer = len(join(a:000)) > 0 ? [ formula ] : []
try
call add(answer, '='..string(eval(formula)))
if mode() ==? 'i'
return "\n"..answer[-1]
else
call append(line('.'), answer)
endif
catch /E\(15\|121\)/
echo '=42.0'
return ''
endtry
endfunction
あとは、現在のメモツールがObsidian + onedrive & OneSyncという組み合わせになっています。
Obsidianの場合、ノートがディレクトリ/ファイル名管理なのでデイリーノートはvimでアクセスしてしまっても、あとは勝手に読むし、何ならoneDriveで勝手にandroid側でも同期しています。パッと読むときはObsidianがいいけど、書くときはvimがいい、という需要をいい感じに満たしてくれるので満足度は高いです。
スパルタンvimのその先はあるのか?
……それがあるのかどうかと言われると、「自分にはあったけど、それは研鑽することではなかった」というところに落ち着きました。具体的に何を言っているのかというと、頑張らないことでリラックスして使おうということになりました。
頑張らないのでhjkl
おしっぱで移動もヨシです。
頑張らないのでマウス移動もオーケーです。
頑張らないので挿入モードで矢印使……うのはナシですけどさすがに。
とにかくリラックスして使っていればオーケーなんです。
そう言う意味で、逆に望む操作をまとめてしたいからスクリプトを書くことも減らしたいんです。特にリマップですね。それでも人並みにはしていると思うんですけど、本当にこの操作とこの結果が指で結びつくかをちょっと試して、馴染んでなかったら使わないことにしたいんです。その代わり、vimの機能でクールにやれるならそれ覚えます。
何より僕、エンジニアではない故に無理に時間効率を上げる必要がないので、リラックスと言って非効率にvimと戯れてもいいし、逆にキーマップ覚えて操作詰めるための時間がもったいない、という事もないので。
そんなこんなで、ちょっとは気にしていただいてるので久しぶりにエントリを残した次第です。
Happy vimming.