アンドゥした位置をハイライトする Vim プラグインを書きました

Atom text editor の Vim エミュレータ、 vim-mode-plus に関する発表 を見ました。以前からアイデアの宝庫だと感心していましたが、もはや単なるエミュレータの域を超えているように思います。 スライドを見ていて、アンドゥした位置がハイライトされている…

UD デジタル教科書体

Windows update done. 楽しみにしていた UD デジタル教科書体に等幅があると知ったので喜び勇んで Vim の 'guifontwide' オプションに設定してみました。いい…。

Vim script 用のオムニ補完プラグインの仕様を少し変えました

ちょっと前に書いた Vim script 用のオムニ補完プラグイン vim-Verdin の仕様を変えました。以前は設定用の変数は let g:Verdin_fuzzymatch = 1 のように g:Verdin_name の書式だったのですが、 g:Verdin#name に変えました。つまり、今はこのように書きます…

Vim script 用のオムニ補完関数を書きました

vim-Verdin 今のところ pure Vim script ですけど思ったよりも戦えている、という感触です。Fuzzy matching はちょっと重いような気もします。正直に言えば、 Vim script は <C-x><C-v> と 単語補完 <C-n>/<C-p> があればだいたい大丈夫なので、まあ便利かどうかは微妙なんですけ</c-p></c-n></c-v></c-x>…

Neomake が vimhelplint に対応したそうです

Vim

驚いたことに Neomake さんが vimhelplint に対応したそうです。すごい。 Neomake を使っている人は Neomake のルートディレクトリで次のシェルコマンドを実行すると vimhelplint を自動的にダウンロードします。 make build/vimhelplint あとは、 Vim のヘ…

「けものフレンズ」っぽい Vim カラースキーマをかいたよ!

Vim

やったー! machakann/vim-colorscheme-kemonofriends きのうあのやまからふきだしたんだよ!まだまわりがきらきらしてるでしょ!! あなたサンドスターあんまりすきじゃないけものなんだね let g:colorscheme_kemonofriends_sandstar_active = 0

vimhelplint のエラー7番を廃止しました

Vim

どうやら約一年前くらいになるのですが、 Vim プラグインのヘルプ用の lint を書きました。Vim プラグインを書き、ちゃんとヘルプまで書く人に向けて作られたかなりニッチなツールです。 vim-vimhelplint vimhelplintの紹介 これを久々に更新、といいますか…

sandwich.vim に Emmet 的なふるまいを追加しました

Vim

先日、 sandwich.vim に HTML 式のタグで囲むレシピを追加しました。これに関して Emmet の省略記法を使えないか、という要望が来たのでちょっとやってみました。 Emmet 的なふるまい、とは言っても実際にサポートしているのは Emmet の機能のごくごく一部で…

Neovim には TextYankPost なるオートコマンドイベントがあるらしい

Vim

先日、 vim-highlightedyank に pull request をもらいまして、 neovim に便利になったっぽいです。どうやら TextYankPost なるヤンク後に発火するオートコマンドイベントがあるらしく、これを使うことで Neovim ではキーマップする必要がなくなりました。実…

また Vim のカラースキームかいた

Vim

前の 畳 に飽きてきたのでまたカラースキームを書いてしまった。もうちょっと褪せた感じというか、彩度の低い感じを考えてたはずが結構カラフルにも見える気がする。User1 ... User9 ってカラースキームファイルで定義した方がいいのかな、とか考えたけど使…

sandwich.vim がすこし便利になりました

Vim

先日 sandwich.vim にすこし手を入れまして、ちょっとだけ便利になりました。いくつかの新機能をデフォルトで有効にしたのですが、おそらく一番便利なのが関数囲みの追加・削除ができるようになったことだと思います。以前から設定を書けばできていたのです…

vim-highlightedyank を書きました

Vim

vim-operator-flashy というプラグインがあって、これ非常に便利で生活を彩る素晴らしいアイデアなんですよ。ただ、ユーザー定義オペレータってどうやってもドットリピートの単位を更新してしまうわけです。Vim の cpoptions の y 抜きでもドットリピートさ…

たまには sandwich.vim の話をしたい

Vim

すこし前の話になりますが sandwich.vim というプラグインを作りました。有名なプラグイン surround.vim のようなもので、文字列を囲んだり、囲まれた文字列から囲みを消したり、置換したりします。 surround.vim に比べて、よりユーザーによる拡張性に重点…

columnmove.vim を書き直した

Vim

Vim 組み込みの f t F T ; , w b e ge W B E gE コマンドを縦 (列) 方向に模倣したモーションを提供するプラグインです。長いことバグとか放置していたのを何とかしました。 columnmove.vim columnmove-f f t F T コマンドは特定の文字が出てくるところまで…

緑っぽい Vim のカラースキームを書いた

Vim

青っぽい色が好きなので大体青い感じのカラースキームを好んで使っていたんですけど、 Vim を使っているんだし緑もいいかな、って思って書きました。 vim-colorscheme-tatami set background=light はかなり明るく、set background=dark もそんなに暗くない…

vim-vimhelplint を書きました

Vim

ドキュメントは大事です。自分で書いたプログラムですら、しばらくすると使い方を忘れてしまいます。おおよそ、自分で書いてきた vim プラグインにはドキュメント書いてきたのですが、あとあとになってミスを見つけたりしてつまらないコミットを増やすことも…

swap.vim についてあれこれ

Vim

先日、 swap.vim というものを書きました。コンマ区切りの要素の順番を簡単に入れ替えるためのプラグインです。 今のところ、デフォルトではコンマで区切られたテキストだけに反応します。しかし、ユーザーが設定することでコンマ区切り以外のテキストも扱え…

swap.vim を書きました

Vim

思い返してみると、実際たいしたことはないうえに頻繁にあるわけでもないんですけど、関数の引数だったり配列の要素だったりの順番を入れ替えたくなることがあります。 call func(arg1, arg2, arg3) これが例えば arg2 と arg3 を入れ替えるとかだったら問題…

julialang v0.4

先週 julia の最新安定バージョンの 0.4 がリリースされたみたいですね。早速ビルドしてみました。Windows を使っているので msys2 を使ってここにあるとおりにビルドしてます。ちょっと前まで master をビルドしようとすると gmp のビルドでこけてたんです…

Vim のドットリピートとテスト

Vim

たまに Vim の拡張としてオペレータを書くのですが、テストを書こうとすると困ることがあります。例として、オペレータを書いてみました。指定された領域の先端に a を、末端に b を入力するオペレータです。 function! OperatorInputAB(motionwise) abort l…

Vimのpatch-7.4.849について

Vim

Vim の patch-7.4.849 欲しさに野良ビルドに手を出してしまいました。これは例えば括弧を自動的に閉じるような設定をしている場合に便利なのです。 inoremap ( ()<Left> この設定自体には賛否両論あるらしいのですがその点はスルーします。ただ、賛だとしても Vim </left>…

Vim の自動インデント機能について

Vim

必要になっていろいろ調べてみると、思いのほか分かっていなかったのでまとめました。上から調べて行って該当するものが使われるようです。 'equalprg' オプションが空でなければ指定された外部プログラムが使われる。 'lisp' オプションがオンなら組み込み…

Vimの組み込み関数について

Vim

Vim の組み込み関数も結構変更を受けたりしていて、古い Vim だと動かない機能があったりする。これは仕方がない。どちらかというと今なお活発に開発が行われているということで、いいことだと思う。ただ、困るのはそれがいつからだったか調べるのが大変面倒…

sandwich.vim を書きました

Vim

vim-sandwich という vim plugin を書きました。これは vim-surround や vim-operator-surround などのような、括弧やクオーテーションなどで囲まれた文字列を編集するためのプラグインと同種のものです。改行の扱いや矩形選択に対する挙動など、細かい点が…