2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

俺のvimの今の話

Last updated at Posted at 2023-01-16

浦島太郎

……もうすっかりQiitaで記事を書くことがなくなってしまったんですけど、まぁ別に別なblog使ってるとかではなく、自分が使いたくてvimの話を始めたケースがほぼすべてなくなってしまっているというのが理由だったりします。その間にもこのあたりとかこのあたりとかはいいね改めLGTM改めいいね貰っていたんです。ホンマこんなスクリプトキディの話に乗ってくださってありがとうございます。

気が付けばvimもメジャーバージョンアップして、vimscriptも爆速になったらしいんですけど、まぁそんなのさておきでついこないだまで数年継ぎ足しては使っていた自分のvimrcを先日ついにワイプして設定しなおしたんです。

さて玉手箱の中身は……

git:astrorobot110/vimrc

使わないものは必要ない

とにかく必要じゃなかったものはそぎ落としてしまいました。

今までQiitaに垂れ流してきた自作のプラグインはほぼすべて外しています。自分流のハックとして残ったものは<Leader>:でbangし忘れたコマンドをbangしなおすハックくらいですが、これに関しては思いついてやっている人も居そうなやつです。

pligin/remap.vim
" bang実行
nnoremap <expr> <Leader>: substitute( @:, '^\(\S\+\)', ':\1!', 'e')

割とお気に入りの方法です。

このほかに……まーバッドノウハウなんですけど、めったに使わないkaoriya版vimのhz_ja.vimをgithubから読み込んだりしています。

plugin/snippet.vim
" 必要な時だけ半角全角変換を読み込むやつ
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するマクロ」です。

/autoload/calcIt.vim
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.

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?