Vim

Vim の doautoall コマンドの問題と 8.2.2596 の挙動変更について

Vim

Vimのdoautoallコマンドはいろいろな問題のあるコマンドで、私にとって悩みの多い機能でした。 しかし 8.2.2596 の変更によって問題のすべてが解決しました。 本記事ではこのコマンドの問題点とこのパッチの意味について解説します。 なおコミットメッセージ…

Vimの古いバージョンをコンパイルし高速にbisectする (macOS編)

Vim

Vimプラグインを作っていると、特定の機能がどのバージョンで実装されたか調べるのが難しいことがあります。 ヘルプ (:h vim7, :h vim8) や git log のコミットメッセージから探せば多くのケースでは見つかるのですが、うまく検索できなくて見つからないこと…

Vimのパッチ存在確認処理を速くした

Vim

昨日Apple Eventを待機しながらVimのコードを眺めていたら、なんだか香ばしい匂いのするコードを見つけてしまいました。 /* * Return TRUE if patch "n" has been included. */ int has_patch(int n) { int i; for (i = 0; included_patches[i] != 0; ++i) i…

lightline.vimがGitHub 5000スター達成

Vim

先日、Vimプラグインのlightline.vimがGitHubで5000スターを達成しました。 このプラグインを世に送り出してから丸七年になりました。本当に多くの方に使っていただいており、とてもとてもありがたいことです。 設定はユーザーに書いてもらうという形のプラ…

Vimに自分の書いたパッチが取り込まれた!

Vim

Vim 8.0.0623に私の書いたパッチが取り込まれました。 わーい ∩(>◡<*)∩ わーい! もともとのきっかけは、自分のプラグインを開発している中で、[\u3000-\u4000]という正規表現に対する挙動がset re=1とset re=2で違うことに気がついたのです。 Vimは正規表…

lightline.vimのREADME.mdを書き直しました

Vim

lightline.vimはVimのステータスラインをいい感じにしてくれるプラグインです。 作って四年弱経つんですね。 おかげさまで多くのユーザーさまに使っていただいています。 itchyny.hatenablog.com github.com このREADME.mdを最近書き換えました。 ……… それだ…

Vimの標準プラグインmatchparenが遅かったので8倍くらい速いプラグインを作りました

Vim

コードを書いているとき、対応する括弧はとても大事です。エディターの中でカーソル下の括弧がどこと対応しているかが一目でわかると便利です。Vimの標準のプラグインにmatchparenというプラグインがあります (:h matchparen)。 私もずっとmatchparenのハイ…

Vimの<C-f>でスクロールしていくと最後一行になってしまうのを直す設定

Vim

Vimの<C-f>を押していくと、最後に一行だけになってしまいます。 おっと行き過ぎたと言ってわざわざ戻っている方も多いのではないでしょうか。 この世の中にはたくさんスクロールのUIがありますが、普通はこうなっていません。 ウェブブラウザーのスクロールも、P</c-f>…

Haskellでimport文をソートするプラグイン vim-haskell-sort-import を作りました

Go言語には、gofmtというコードフォーマッターがあります。 標準ライブラリーで備えており、このフォーマッターをかけることを半ば強制することにより、Goで書かれたコードはどれも統一的なスタイルをしているように見えます。 gofmtには様々な機能がありま…

Vimで自動的にファイルタイプを設定してくれる便利プラグインvim-autoftを作りました!

Vim

あなたは次のような場面を経験したことはありませんか? Webページからコード片をコピーする 保存するまでもない時はファイルを作らずに、Vimの無名バッファーに貼り付ける シンタックスハイライトされねぇじゃねぇか!!!と怒る :set ft=ほげほげ あるいは…

いつでもどこでもURLをハイライトするプラグインvim-highlighturl作りました!

Vim

私たちにとって、URLはとても大事です。とても、とても大事です。大事なものは目立つべき!URLをハイライトするVimプラグインを作りました。 itchyny/vim-highlighturl 実を言うと、このURLハイライトはもともと拙作カラースキームitchyny/landscape.vim · G…

個人的に便利だと思うVimの基本設定のランキングを発表します!

Vim

この記事は Vim Advent Calendar 2014 の5日目の記事です。諸事情によりVim Advent Calendar 2014で穴が空いてしまった5日の記事を、遅ればせながら代打で投稿させていただきます。この投稿を以って、 Vim Advent Calendar 2014 は全ての日程が埋まる事にな…

Vim scriptのexists→get変換公式

Vim

毎日Vim scriptを書いているあなたは、exists関数をよく用いると思います。特に、ユーザーが設定する変数があるかないかで挙動を制御するのに便利ですよね。existsは、コードを書くときには分かりやすいです。「何某が存在するときはこうで…」と言いながらコ…

Vim scriptテクニックバイブルを読みました ー 書評とVim scriptをこれから始めるあなたへ

Vim

Vim scriptについて解説した初めての技術和書が発売されるということで、ワクワクして中身も確認せずに注文しまいました。数日前には近くの郵便局までは来ていたのですが、学会や台風の都合で受け取れず、今日の朝に届きました。大体読んだので書評を書いて…

Vim上で動くスクリーンセーバー作りました

Vim

一日中Vimで作業しているあなたは、席を離れる時どうしていますか?作業に疲れた時、何をしますか? 席を離れる時や、作業に疲れた時、Vimの上でスクリーンセーバーを起動したいなぁ〜と思ったことがあるでしょう。そんな人のために、スクリーンセーバー、作…

マルチバイト文字をechoした後にechoしたアルファベットが飛ぶ現象が修正された

Vim

私が現象を報告したVimの問題が修正されました。 nnoremap <silent>で呼ぶ関数の中でechoを使うと文字が途切れ途切れになることがある - Issue #558 - vim-jp/issues - GitHub Patch 7.4.303 - Google Groups まずはじめに、原因の特定、再現の確認、デバッグ、パッ</silent>…

vim-external作った

Vim

以前はvimrcに書いていた設定を、一つのプラグインにしました。 itchyny - vim-external vim-externalは現在、3つのマッピングを提供します。 <Plug>(external-editor): 現在のファイルを外部エディターで開く <Plug>(external-explorer): 現在のファイルを開くディレク</plug></plug>…

fgでプロセスがない場合にviを開く設定

Vim

alias fg='fg || vi' 以上

Vim scriptで, has_keyではなくgetを使うと遅くなることがある

Vim

Vimを使っているあなたは、Vim scriptを毎日書かれているのではないかなと思います。 Vim scriptには様々な関数がありますが、最初にgetという関数を知った時は、「なんて便利なんだ!!!」と思われたのではないでしょうか。 例えば、値段の辞書と、値段を…

calendar.vimの作者が教える! calendar.vimでタスクを管理してみよう - 初級編

Vim

この記事では, calendar.vimのタスクの機能を使う方法について教えます. 前回までの記事を挙げておきます. calendar.vimの作者が教える! calendar.vimのインストールと基本動作 - 初級編 - プログラムモグモグ calendar.vimの作者が教える! calendar.vimを…

calendar.vimの作者が教える! calendar.vimをGoogle Calendarと連携させてみる - 初級編

Vim

この記事では, calendar.vimとGoogle Calendarと連携させて使う方法を紹介したいと思います. 前回までの記事を挙げておきます. calendar.vimの作者が教える! calendar.vimのインストールと基本動作 - 初級編 - プログラムモグモグ イベント, カレンダーの基…

calendar.vimの作者が教える! calendar.vimのインストールと基本動作 - 初級編

Vim

この記事では, calendar.vimの初歩の初歩, インストールと基本動作を説明します. インストール calendar.vimは, githubからのみインストール可能です. itchyny / calendar.vimneobundleを用いている方は, NeoBundle 'itchyny/calendar.vim' をvimrcに書いて…

Vimmerのあなたの為に。最高のカレンダーcalendar.vimを作りました - Vimはアプリケーションプラットフォームの時代に

Vim

Vimでカレンダーといえば, mattnさんのcalendar.vimが有名でした. mattn - calendar-vim しかし, 私には以下の不満点がありました. 現在のVim Scriptから見ると, Vim Scriptの基本的な要素(文字列と数字)しか使っていない. ぶっちゃけ, コードが読みにくいし…

lightline.vimのgithubスターが500に到達しました!

Vim

わーーーー +。:.゚٩(๑>◡<๑)۶:.。+゚ ーーーーい これからもよろしくお願いしますっ ζ*>ヮ<)ζ!!! itchyny - lightline.vim 補足 安定しているので、最近は殆どコードを変えていませんが, 幾つか改善した点があるので、ここに書いておきます。 まず、パフォー…

作者が教える! lightline.vimの設定方法! 〜 中級編 - 展開コンポーネントを理解しよう

Vim

この記事では、lightline.vimの中で特に難しいcomponent_expandの使い方を教えます。これまでの記事を並べておきます. おさらいされる方はどうぞ。 作者が教える! lightline.vimの導入・設定方法! 〜 初級編 - インストールしよう - プログラムモグモグ 作…

作者が教える! lightline.vimの設定方法! 〜 初級編 - コンポーネントを作ってみよう

Vim

この記事では、lightline.vimの設定について教えます。インストールに困っている人、前回の記事(作者が教える! lightline.vimの導入・設定方法! 〜 初級編 - インストールしよう - プログラムモグモグ)を読んでいない人はそちらから読んで下さい。この記事…

VimからMacのDictionary.appを使用するdictionary.vim

Vim

VimからMacの内蔵辞書を引きたい - Self Reference うぇっ それだいぶ前に作ってるよ!!! itchyny/dictionary.vim macdict-vimより良いところは, 文字を打ち込んだらリアルタイムに更新されるところかな.どっちが使いやすいかはユーザーに判断してもらいた…

作者が教える! lightline.vimの導入・設定方法! 〜 初級編 - インストールしよう

Vim

この記事では、lightline.vimの導入・設定に戸惑っている皆さんのために、コピペで使える設定を教えます. 特に、lightline.vimのGitHubページが英語でよく分からないよ、という方を想定しています. GitHubページ或いはヘルプファイルを読んで分かる方は、こ…

lightline.vim作りました - プラグインの直交性について

Vim

lightline.vimというVimプラグインを作りました。statuslineをなんかかっこよくしてくれるやつです。https://github.com/itchyny/lightline.vim からインストールできます。デフォルト (powerlineと同じ配色) wombat solarized landscape どうしてこれを作っ…

vim-airlineに乗り換えた

Vim

vim-powerlineを捨て, powerlineを見限り, 辿り着いたのはvim-airlineだった. 良い.かつてvim-powerlineを使用していた頃のstatuslineと遜色ない仕上がりである. vim-powerlineがすごい - プログラムモグモグ 設定は次のような感じ. NeoBundle 'itchyny/land…