Vim

変わり者の Vim 組み込みオペレーター達

Vim

本記事はVimアドベントカレンダー2022 その3の24日目の記事です。 オペレーターというのはVimの編集コマンドの一群で、よく自然言語における動詞に例えられる。つまり編集の種類を指し示すコマンドである。もう少し具体的に言うと、「消す」であったり「コピ…

multitarget-gn.vim を書きました

Vim

先に断っておくと、私としてはこれは邪道だと思っている。 GitHub - machakann/vim-multitarget-gn: Yet another gn command taking a count as a number of operation これ何 Vim の組み込みテキストオブジェクト gn の亜種である。 gn って何 :help gn を…

Vim script でレーベンシュタイン距離を計算する

Vim

Vim script にビットシフト演算子が導入されたそうです。 Vim script にビットシフト演算子が入りました。https://t.co/Rb5x9hNFqX— mattn (@mattn_jp) 2022年5月22日 というわけで、とりあえずレーベンシュタイン距離を計算してみました。 レーベンシュタイ…

雑記(20220522)

Vim

スレの趣旨にあってるのかあってないのかという感じだけど、これは嬉しい。 出典 www.reddit.com

Vim のモーションについて

Vim

Vim でカーソルを動かすためのコマンドの一部はモーションと呼ばれます。 これについての基本的な説明と組み込みのモーションコマンドについてはヘルプを読む(:help motion.txt)のが一番なので、この記事ではモーションとはなにかを簡単に解説した後、ユーザ…

Julia の Language server を Vim でうごかす その2

以前、こういう記事を書きました。 machakann.hatenablog.com しかし、準備が煩雑、必要なパッケージをグローバルにインストールしなければならないなど不満が多くありました。なので、これらの不満を解決するべく必要な設定やソースコードを一つの Vim plug…

また Vim のカラースキームを書いた

Vim

雪山かなんかの写真をみてなんかこんな感じ、と作りはじめました。 GitHub - machakann/vim-colorscheme-snowtrek: A light colorscheme for vim text editor かなり明るめです。いままでは、カラースキームを作る場合 'background' オプションが light の場…

vim-sandwich で関数を消す

Vim

Vim の話です。 vim-sandwich というプラグインを以前書きまして、これを更新したよ、というのがこの記事の内容です。 これは何? ざっくりといえば、vim-surround クローンであり、おおよそ対応する機能を持っています。つまり、テキストオブジェクトを括弧…

vim-swap で関数の引数を並べ替える

Vim

Vim の話です。 vim-swap というプラグインを以前書きまして、これを更新したよ、というのがこの記事の内容です。 これは何? もっとも代表的な用途は、関数の引数のようなコンマで区切られたテキストの順番を入れ替える、というものです。例えば、次のよう…

Vim で Unicode 記号の入力補完をする

Julia 言語の特徴の一つとして広範な Unicode 記号を識別子として使える、というものがあります。その有用性について最初は懐疑的だったのですが、一度使ってしまうともう戻れなくなりました。過去のコードが mu だの theta だの phi だので埋め尽くされてい…

Julia の Language server を Vim でうごかす

※ --- 2020/1/21 追記 --- その2を書きました。 Julia の Language server を Vim でうごかす その2 - 書いたものなど ※ --- 2020/1/21 追記ここまで --- やっと、 LanguageServer.jl を動かせるようになったのでまとめます。将来はもっと簡単になると思い…

けものフレンズのタイトルロゴのアレ

Vim

vim-colorscheme-kemonofriends を書いたときに、けものフレンズのタイトルロゴを Vim バッファ上に出力するスクリプトを (README に載せるためだけに) 書きました。例のスクリーンショットを撮った後、当のスクリプトはどこに置いたのかわからなくなってし…

julia-vim に送った PR が取り込まれました

ちょっと前の話になりますが、 julia のドキュメントを vim 内に表示するための機能を追加する PR を julia-vim プラグインに送りました。 github.com machakann.hatenablog.com これが、ついに merge されてうれしいって話です。 使い方 まずは julia-vim …

Vim のターミナルウィンドウの文字色を設定する

Vim

はじめに Vim 8.1 がリリースされましたね。目玉機能の一つとしてターミナルウィンドウが挙げられています。 Vim 8.0 から存在していましたが、ついに実験的機能ではなくなった、ということでしょうか。 実はこのターミナルウィンドウの文字色は、設定によっ…

Vim の Julialang シンタックスハイライトについて

Vim の julialang 用シンタックスハイライト はなかなか控えめで渋くて好きです。 (Vim script 用のなんかは書いていると、ちょっと色が多すぎるな…と思ったりします。) ただ、括弧がハイライトされると視覚的に便利かなー、と思うので改造しようかと思って…

julia-vim に Pull request を送りました

Julia も Vim で書いてるんですけど、結構な頻度でドキュメントを見たくなります。 Vim script を書く時の :help コマンドに慣れすぎているのでこのくらいの気軽さで Julia のドキュメントをひければいいのに、と思っていました。ので、書きました。 github.…

vim-multiselect を書きました

Vim

Vim に複数選択があったら、という感じの実験、コンセプトモデルのようなものを書きました。正直、基本的に :substitute とか :global みたいなのをつかってしまうのでいまいち使えてないんですけど、なんか面白い使い方でも見つからないかなー、と考えてい…

Vim の TextYankPost イベント

Vim

Vim 8.0.1394 にてオートコマンドイベント TextYankPost が実装されました。 github.com ヤンクコマンドなどでレジスタが更新された際に処理をフックすることができます。名前に Yank とありますが、 d コマンドや c などもレジスタを更新するので同様に Tex…

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

Vim

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

UD デジタル教科書体

Vim

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

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

Vim

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

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

Vim

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 抜きでもドットリピートさ…