Humanity

Edit the world by your favorite way

Vim

最近の Vim で入った面白 Vim script 関数

Vim

:h eval.txt を眺めてたら結構色々関数追加されてるなーと思ったのでまとめてみた。 (追記: 結構古くからある関数も交じってた…) 基本的に詳細な仕様は書くつもりはありません (古くなるかもしれないし help 見た方が正確)。 wordcount() g<C-g> を押すと現在のバ</c-g>…

Vim script で Chrome Debugging Protocol を扱うライブラリを作りたい

Vim

github.com タイトルの通りなのですが、Chrome Debugging Protocol (以下 CDP) を扱うためには、 CDP は WebSocket ベースなので WebSocket を実装しなきゃならない バイト列をパースする際にヌルバイトを Vim では扱えない となって悩んでいます。 ヌルバイ…

netupvim で Windows でも最新の Vim を追いかけよう

これは Vim Advent Calendar 2017 その2 の21日目の記事です。 github.com 内容は上記リポジトリの README.md のパクリです。 netupvim 便利だよ!って事が言いたかった。 序文 Windows で Vim を使っているとふと最新の Vim を欲しい時があります。 そんな…

Vim 8 時代のがんばらないプラグイン管理のすすめ

Vim

これは Vim Advent Calendar 2017 の20日目の記事です。 皆さん Vim しておられるでしょうか。 Yes と答えた方、プラグインマネージャーは使っていますか? 巷では Vim のプラグイン管理にはプラグインマネージャーを入れる必要があるかのような勢いで「まず…

:terminal コマンドが使える Windows 版 Vim の配布状況 (2017/09/15 時点)

Vim

tyru.hatenablog.com この記事を書いた後 Windows でも :terminal コマンドが使える Vim が配布されるようになったのでその配布状況をメモしておく。 Vim バイナリの配布 URL 一覧 まず初めに Vim のバイナリへのリンク集を vim-jp では提供しているので貼っ…

open-browser.vim で Windows Subsystem for Linux 上の Vim から URL 開けるようになった

Vim

github.com これで WSL 上であろうとなかろうと意識せず URL を開けるはずです。 最近は WSL の Vim ばっかり使ってるので個人的にうれしい機能追加です(追加したの自分だけど)。 WSL は Windows の世界と分断されてると思い込んでたのですが、 /mnt で Wi…

Vim の :terminal がもたらすもの

Vim

追記 本記事を書いた後いろいろ状況が変わって :terminal コマンドが使える Vim が配布されるようになったので、 とりあえず現時点(2017/09/15)での状況を書きました。 tyru.hatenablog.com 序文 今絶賛開発中の Vim の :terminal コマンドについて書こう…

Vim script に ECMAScript の Observable がほしい

タイトルは前記事からの流用。 最近 Vim script で Java 8 の Stream API を実装する、ということをしている。 tyru.hatenablog.com github.com Vim 8 でも lambda が入ったので、メソッドチェインでどんどん処理を繋げるスタイルの書き方ができると嬉しいと…

Vim script に Java 8 の Stream API がほしい

Vim

ので作ってる。この記事も PR も絶賛更新中。 github.com 一言で言うと underscore.vim + Data.LazyList 的なものがほしかった。 Twitter でぼやいた時の会話。 vital.vim の Data.List って、名前からだと https://t.co/423dfKhtl4([1,2,3,4,5]).filter({x …

はてなブログの記事をブログ間で移動させたかったから MovableType 形式のファイル用の Vim 折り畳みプラグイン作った

Vim

github.com 使用方法 珍しく GIF アニメ作ったのでそれで察してください。 はてなブログでエクスポートした記事のテキストファイル(MovableType 形式)に折り畳みを付けるだけのプラグインです。 インターフェースは MovableTypeFoldToggle コマンドしかあ…

Vim のマッピングで Fizzbuzz 問題を解く

Vim

この記事は Vim Advent Calendar 2016 19日目の記事です。 締め切りがない世界に行きたいと言いつつ、締め切りがなければ何もしないニート根性の tyru です。メリークリスマス!!(錯乱) (レジスタ編) Fizzbuzz 問題のコード 以前私はこんなコードを Gist に…

ミニマリストな Vimmer におすすめしたい履歴管理プラグイン oldfilesearch.vim

Vim

この記事は Vim Advent Calendar 2016 (その2) の 4 日目の記事です。 追記:oldfilesearch.vim のリポジトリへのリンクを貼り忘れていたので追記しました。 履歴管理プラグインへの懸念 履歴管理プラグインには様々なものがあります。 例えば MRU.vim であ…

私、普通のVimmerに戻ります

Vim

頭のおかしいいつも通りのヨタ話です。半分ネタです。 もう限界です。 プラグインを入れたり作ったりしてプラグインが増えていき、気が付くと Core i3 4130 3.4 GHz, メモリ 16G の PC にもかかわらず Vim が起動するまで3秒ぐらい掛かるようになってしまい…

MSYS2 での Vim のビルド

Vim

「TODO」の lua.exe が実行できない件は解決してないけどまぁとりあえず実害は出てないし何より解決するやる気が無くなってしまったので公開。 # Lua のインストール curl -O http://www.lua.org/ftp/lua-5.3.2.tar.gz pacman -S tar tar xzf lua-5.3.2.tar.…

Vim script での依存ライブラリのバージョン管理について (vital.vim が生まれた経緯とこれまでのあらすじ)

Vim

何となく自分の考えを整理するためにつらつら書いた。 Vim プラグイン開発者にとっては目新しい情報はないかもしれないけど、vital.vim の最近の動向を知りたい人や、これから Vim プラグイン作りたい人にとっては有用かもしれないと思ったので公開してみる…

skk.vim と eskk.vim でデフォルトのマッピングを上書きする方法

Vim

skk.vim や eskk.vim ではデフォルトで多くの言語モードマッピング(:lmap,:lnoremap)を行うため、ユーザーが vimrc で追加したインサートモードやコマンドラインモードでのマッピングを覆い隠してしまう問題があります。 skk.vim でも eskk.vim でもこの問題…

箸という古くて新しい道具

Vim

私は私生活がダラけきっており、箸を洗うのが面倒なため普段の生活から割り箸を使っている。 買ってるのも安い割り箸なので、ちょっと力を入れただけですぐ折れてしまう。 なので折れないようそっと使っている。 箸とVimは似た所があると思った。 箸は言って…

Software Design 5月号の Vim 特集に記事を書きました

Vim

gihyo.jp Software Design 5月号の Vim 特集に一筆参加させて頂きました。 自分は正規表現について書きました。 なぜ正規表現か 職場によっては (職場指定のソフトウェアしか使用できないルールがあり) Vim を使うことを禁じられている、または (Linux サー…

VimプラグインのGitHubでのブランチ運用について (2)

Vim

tyru.hatenablog.com またもや上記記事からポリシーを変更することになった。 ブランチの運用についての点で、feature や fix には当てはまらない変更はどういうブランチ名にすればいいか?というのが分からなかったので、もう PR に「[New] Add xxx feature…

VimプラグインのGitHubでのブランチ運用について

Vim

Vim プラグイン は Git flow 的なブランチ運用した方がいい気がしてきた - Humanity 上記記事から半月程経過したので現状のブランチの運用についてさらに考えをまとめる。 あとこの記事を書いてる途中、現在の運用について不要な労力を割いている箇所が見つ…

Vim プラグイン は Git flow 的なブランチ運用した方がいい気がしてきた

Vim

理由 しばらく手元で試してマージできる devel ブランチには push してるのでリポジトリが失われる心配をしなくて済むので精神衛生上良い いざとなったら誰かに試してもらえる エラーとかが発生した際にどこから問題が起きたか分かりやすい Gitに詳しくない…

Vim runtime で必須そうなファイルを調べてみた

Vim

@todesking 必須そうなの選別しました。ご査収ください (Vim 本体のソースコードからこれらのファイルのみ持ってきて $VIMRUNTIME 環境変数セットすればいけそう) https://t.co/OhumjyeU10— tyru (@_tyru_) February 22, 2016 Vim runtime files (at 7.4.138…

Vim のビルドスクリプト

Vim

tyru.hatenablog.com どうしても最新版を使いたい派ではないので、これまで ArchLinux で落ちてくる Vim (7.4.1190) で満足していた。 しかし次期リリースのために活発に実装されている job や channel を使いたいのでふと最新版が欲しくなった。 リポジトリ…

Vim script でメニューを追加&日本語化する際のノウハウ

Vim

restart.vim と open-browser.vim で 日本語化されたメニューを提供しているのですが、メニューは無効化していたり使わない人も多く、あまりノウハウが Web 上に無いのでここに記載しておきます。 目次 メニューを追加するタイミング メニューを追加するかど…

My interview on "How I Vim"

Vim

howivim.com (日本語版はこちら) Recently, I wrote one blog entry which is an interview from How I Vim, also mattn and Shougo wrote. It has a little bit too large amount of information because I wrote about various things, of what I haven't …

How I Vimからのインタビューを受けました

Vim

howivim.com (English version of this post) mattnさんやShougoさんも受けたと言うHow I Vimからのインタビュー記事に私も参加させて頂きました。 日本語でもあまり書いてこなかった事も詰め込んだので、けっこう情報量が多くなってしまいました… ただ日本…

Vimのメタデータリポジトリに関する議論とその落穂拾い

Vim

昨日はVimのメタデータリポジトリに関してShougoさんとめっちゃ有益な議論ができたと思う。 ので、以下でその落穂拾いや言い忘れた事について補足します。 参照リンク vim-jp – Lingr Vimプラグインのメタデータリポジトリについて話し合いましょう · Issue …

AppVeyorでVimプラグインリポジトリのCIを回す

Vim

AppVeyorでのVimプラグインのテストについてはid:thincaさんの記事が素晴らしくまとまっています。 Vim プラグインを Windows 環境でテストする - 永遠に未完成 しかし、上記記事だけではいくつか動かない点があったのと、 Web画面からではなくリポジトリにa…

最近のVim関連の活動状況

Vim

送ったPull Requestやissuesは管理しきれなくなって投げたことを忘れるのでRedmineで管理することを覚えました。 なんでGitHubのPublic Activityは30件ぐらいしか遡れないんだろう… 作ったプラグイン tyru/share-cmdline-history.vim GitHubの1行説明:Share…

SKK辞書のsyntaxファイル(skkdict.vim)はeskk.vim、skk.vimのリポジトリに含まれなくなりました

Vim

表題の通り、SKK辞書のsyntaxファイル(skkdict.vim)はeskk.vim、skk.vimのリポジトリに含まれなくなりました。 理由は、SKK辞書を直接編集するユーザは少ないはずで、そのSKK辞書のsyntaxファイルを skkdict.vim、skk.vim、eskk.vimそれぞれのリポジトリで変…