Vim
本記事はVimアドベントカレンダー2022 その3の24日目の記事です。 オペレーターというのは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 script にビットシフト演算子が入りました。https://t.co/Rb5x9hNFqX— mattn (@mattn_jp) 2022年5月22日 というわけで、とりあえずレーベンシュタイン距離を計算してみました。 レーベンシュタイ…
スレの趣旨にあってるのかあってないのかという感じだけど、これは嬉しい。 出典 www.reddit.com
Vim でカーソルを動かすためのコマンドの一部はモーションと呼ばれます。 これについての基本的な説明と組み込みのモーションコマンドについてはヘルプを読む(:help motion.txt)のが一番なので、この記事ではモーションとはなにかを簡単に解説した後、ユーザ…
以前、こういう記事を書きました。 machakann.hatenablog.com しかし、準備が煩雑、必要なパッケージをグローバルにインストールしなければならないなど不満が多くありました。なので、これらの不満を解決するべく必要な設定やソースコードを一つの Vim plug…
雪山かなんかの写真をみてなんかこんな感じ、と作りはじめました。 GitHub - machakann/vim-colorscheme-snowtrek: A light colorscheme for vim text editor かなり明るめです。いままでは、カラースキームを作る場合 'background' オプションが light の場…
Vim の話です。 vim-sandwich というプラグインを以前書きまして、これを更新したよ、というのがこの記事の内容です。 これは何? ざっくりといえば、vim-surround クローンであり、おおよそ対応する機能を持っています。つまり、テキストオブジェクトを括弧…
Vim の話です。 vim-swap というプラグインを以前書きまして、これを更新したよ、というのがこの記事の内容です。 これは何? もっとも代表的な用途は、関数の引数のようなコンマで区切られたテキストの順番を入れ替える、というものです。例えば、次のよう…
Julia 言語の特徴の一つとして広範な Unicode 記号を識別子として使える、というものがあります。その有用性について最初は懐疑的だったのですが、一度使ってしまうともう戻れなくなりました。過去のコードが mu だの theta だの phi だので埋め尽くされてい…
※ --- 2020/1/21 追記 --- その2を書きました。 Julia の Language server を Vim でうごかす その2 - 書いたものなど ※ --- 2020/1/21 追記ここまで --- やっと、 LanguageServer.jl を動かせるようになったのでまとめます。将来はもっと簡単になると思い…
vim-colorscheme-kemonofriends を書いたときに、けものフレンズのタイトルロゴを Vim バッファ上に出力するスクリプトを (README に載せるためだけに) 書きました。例のスクリーンショットを撮った後、当のスクリプトはどこに置いたのかわからなくなってし…
ちょっと前の話になりますが、 julia のドキュメントを vim 内に表示するための機能を追加する PR を julia-vim プラグインに送りました。 github.com machakann.hatenablog.com これが、ついに merge されてうれしいって話です。 使い方 まずは julia-vim …
はじめに Vim 8.1 がリリースされましたね。目玉機能の一つとしてターミナルウィンドウが挙げられています。 Vim 8.0 から存在していましたが、ついに実験的機能ではなくなった、ということでしょうか。 実はこのターミナルウィンドウの文字色は、設定によっ…
Vim の julialang 用シンタックスハイライト はなかなか控えめで渋くて好きです。 (Vim script 用のなんかは書いていると、ちょっと色が多すぎるな…と思ったりします。) ただ、括弧がハイライトされると視覚的に便利かなー、と思うので改造しようかと思って…
Julia も Vim で書いてるんですけど、結構な頻度でドキュメントを見たくなります。 Vim script を書く時の :help コマンドに慣れすぎているのでこのくらいの気軽さで Julia のドキュメントをひければいいのに、と思っていました。ので、書きました。 github.…
Vim に複数選択があったら、という感じの実験、コンセプトモデルのようなものを書きました。正直、基本的に :substitute とか :global みたいなのをつかってしまうのでいまいち使えてないんですけど、なんか面白い使い方でも見つからないかなー、と考えてい…
Vim 8.0.1394 にてオートコマンドイベント TextYankPost が実装されました。 github.com ヤンクコマンドなどでレジスタが更新された際に処理をフックすることができます。名前に Yank とありますが、 d コマンドや c などもレジスタを更新するので同様に Tex…
Atom text editor の Vim エミュレータ、 vim-mode-plus に関する発表 を見ました。以前からアイデアの宝庫だと感心していましたが、もはや単なるエミュレータの域を超えているように思います。 スライドを見ていて、アンドゥした位置がハイライトされている…
Windows update done. 楽しみにしていた UD デジタル教科書体に等幅があると知ったので喜び勇んで Vim の 'guifontwide' オプションに設定してみました。いい…。
ちょっと前に書いた Vim script 用のオムニ補完プラグイン vim-Verdin の仕様を変えました。以前は設定用の変数は let g:Verdin_fuzzymatch = 1 のように g:Verdin_name の書式だったのですが、 g:Verdin#name に変えました。つまり、今はこのように書きます…
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 に対応したそうです。すごい。 Neomake を使っている人は Neomake のルートディレクトリで次のシェルコマンドを実行すると vimhelplint を自動的にダウンロードします。 make build/vimhelplint あとは、 Vim のヘ…
やったー! machakann/vim-colorscheme-kemonofriends きのうあのやまからふきだしたんだよ!まだまわりがきらきらしてるでしょ!! あなたサンドスターあんまりすきじゃないけものなんだね let g:colorscheme_kemonofriends_sandstar_active = 0
どうやら約一年前くらいになるのですが、 Vim プラグインのヘルプ用の lint を書きました。Vim プラグインを書き、ちゃんとヘルプまで書く人に向けて作られたかなりニッチなツールです。 vim-vimhelplint vimhelplintの紹介 これを久々に更新、といいますか…
先日、 sandwich.vim に HTML 式のタグで囲むレシピを追加しました。これに関して Emmet の省略記法を使えないか、という要望が来たのでちょっとやってみました。 Emmet 的なふるまい、とは言っても実際にサポートしているのは Emmet の機能のごくごく一部で…
先日、 vim-highlightedyank に pull request をもらいまして、 neovim に便利になったっぽいです。どうやら TextYankPost なるヤンク後に発火するオートコマンドイベントがあるらしく、これを使うことで Neovim ではキーマップする必要がなくなりました。実…
前の 畳 に飽きてきたのでまたカラースキームを書いてしまった。もうちょっと褪せた感じというか、彩度の低い感じを考えてたはずが結構カラフルにも見える気がする。User1 ... User9 ってカラースキームファイルで定義した方がいいのかな、とか考えたけど使…
先日 sandwich.vim にすこし手を入れまして、ちょっとだけ便利になりました。いくつかの新機能をデフォルトで有効にしたのですが、おそらく一番便利なのが関数囲みの追加・削除ができるようになったことだと思います。以前から設定を書けばできていたのです…
vim-operator-flashy というプラグインがあって、これ非常に便利で生活を彩る素晴らしいアイデアなんですよ。ただ、ユーザー定義オペレータってどうやってもドットリピートの単位を更新してしまうわけです。Vim の cpoptions の y 抜きでもドットリピートさ…