ruvim

RuVim

RuVim

Ruby で実装した Vim ライクなターミナルエディタです。

Vim の操作感をベースに、Ruby ならではの、もしくは ko1 が欲しい拡張性と独自機能を加えています。

Vim にない独自機能

概要

ドキュメント

Web で読みやすい形式のドキュメントは https://ko1.github.io/ruvim/ で公開しています。

はじめに

ドキュメント 内容
tutorial.md 基本操作のチュートリアル。起動・移動・編集・保存の流れをひと通り学べます
RuVim 完全ガイド 完全ガイド(チュートリアルブック)。基本から応用・カスタマイズまで全 26 章 + 付録で網羅

リファレンス

ドキュメント 内容
command.md コマンド一覧。Normal / Insert / Ex の全コマンドを分類ごとに掲載
binding.md キーバインディング一覧。モード別・レイヤー別に全バインドを掲載
config.md 設定リファレンス。init.rb の書き方と :set オプションの全項目
plugin.md 拡張の書き方。正式な plugin API はまだありませんが、init.rb でできることをまとめています

Vim ユーザー向け

ドキュメント 内容
vim_diff.md Vim との違い。RuVim 独自の機能や挙動の差分をまとめています

開発者向け

ドキュメント 内容
spec.md 仕様書。アーキテクチャ・設計方針・各サブシステムの詳細
RuVim 実装解説 実装解説。「Ruby でテキストエディタを作る」をテーマに内部設計を全 20 章で解説
todo.md TODO リスト。今後の開発予定と検討中の機能
done.md 完了項目。実装済みの機能をカテゴリ別に記録

起動

起動:

ruvim

ファイルを開いて起動:

ruvim path/to/file.txt

主な CLI オプション:

開発環境で gem 未インストールのまま試す場合:

ruby -Ilib exe/ruvim

主な操作(抜粋)

詳しくは docs/tutorial.md を参照してください。

設定

設定ファイルは Ruby DSL です。

filetype ごとの設定:

--clean で user config / ftplugin を無効化できます。

詳しくは docs/config.md を参照してください。

開発

テスト実行:

rake test

CI 相当(test + docs 整合チェック):

rake ci

lint / format 方針(現状):

注意(現状)