3 ポイント 投稿者 GN⁺ 2024-01-17 | 1件のコメント | WhatsAppで共有

モードのない vim

  • このリポジトリの設定ファイルは、vim をモードのないエディタに変換する。
  • 複雑なコマンドを覚える代わりに、Ctrl+S で保存し、Shift+←/→/↑/↓ でテキストを選択し、Ctrl+C/V でコピー/貼り付けを行える標準的なキーバインドを使う。
  • この設定は、vim をグラフィカルなエディタより好む愛好家のためのものではなく、主に GUI エディタ(例: VSCode)を使うが、ときどきターミナルで実行できるエディタが必要な人向けである。

注意事項

  • モードのない エディタは、キーを押してすぐにテキストを入力でき、ファイル保存のようなコマンドをキーバインドで実行する一般的なエディタである。
  • モードのある エディタである標準設定の vim は、複数のモード(例: 「コマンドモード」「挿入モード」「ビジュアルモード」など)を持つ。

Q&A

  • Q: なぜ vim コマンドを学ばないのか?
    • A: 学んだが、定期的に vim を使わないとすぐに忘れてしまう。
  • Q: なぜ nano のようなモードのないエディタを使わないのか?
    • A: vim の機能(例: 多くの言語に対するシンタックスハイライト対応)は、nano のようなモードのないターミナルエディタを上回る。このリポジトリの設定ファイルは、vim をモードのないエディタに変換しつつ、優れた機能を維持する。

一部の機能

  • 標準キーバインド対応。
  • キーバインドを思い出させる画面上部の情報バー表示。
  • ファイル、カーソル位置などの情報を含む画面下部のステータスバー表示。
  • 多くのオプションに対する妥当なデフォルト設定。

スクリーンショット

  • モードのない vim を Nerd Font で使用している様子。
  • _ascii バージョンの設定ファイルでモードのない vim を使用している様子。
  • modeless.vimrc を使う、モードのある vim である vi の様子。

リポジトリの内容

  • インストール方法、Nerd Font、キーバインド、このリポジトリのファイル、ライセンス。

インストール

  • このリポジトリを ~/.vim にクローンする。
  • vim~/.vim 内の vimrc ファイルを自動検出するはずである。
  • 検出しない場合は、~/.vimrc から ~/.vim/modeless.vimrc へのシンボリックリンクを作成できる。
  • sudoedit 使用時にモードのない vim を使うには、.bashrc/.zshrc/... ファイルに export EDITOR=vim を追加する。
  • モードのある vimvi として使いたい場合もある。vi コマンドがモードのある vim バージョンを実行するよう設定することを推奨する。

Nerd Font

  • デフォルト設定では Nerd Font(追加アイコンが挿入された等幅フォント)が必要である。
  • ターミナルウィンドウの上部情報バーと下部ステータスバーで、これらのカスタムアイコンを使用する。
  • カスタムフォントを使いたくない、または使えない場合は、ASCII 文字のみを使用してステータスバー/情報バーを実装する statusline_ascii.vimrc および infoline_ascii.vimrc ファイルがリポジトリに含まれている。

キーバインド

  • モードのない vim は、ファイルを開く、保存、終了、検索と置換、選択、切り取り、コピー、貼り付け、その他の機能のためのキーバインドをサポートする。

リポジトリのファイル

  • modeless.vimrc, modeful.vimrc, colorscheme.vimrc, keybinds.vimrc, infoline_nerdfont.vimrc, infoline_ascii.vimrc, statusline_nerdfont.vimrc, statusline_ascii.vimrc, options_basic.vimrc, options_modeless.vimrc, vimrc, virc, vi, LICENSE, README.md.

ライセンス

  • この設定ファイル集は MIT ライセンスに基づく自由かつオープンソースのソフトウェアである。

GN⁺の意見

  • この記事は、vim を GUI エディタのように使えるようにする革新的なアプローチを提供することで、ターミナルベースのエディタに慣れていないユーザーに大いに役立つ可能性がある。
  • 特に、vim の強力な機能を維持しながら親しみやすいキーバインドを提供し、ユーザーがより速く効率的に作業できるよう支援する点が非常に重要である。
  • このようなカスタム設定は、オープンソースコミュニティの協力と共有の精神を反映しており、開発者が自分の作業環境を個々のニーズに合わせて調整できる柔軟性を提供する。

1件のコメント

 
GN⁺ 2024-01-17
Hacker Newsのコメント
  • Vimのアクセシビリティ向上に関する意見

    作者がVimを改善した理由(シンタックスハイライトやその他の機能)は非常にもっともです。しかし、それによってVimの本質が損なわれているようにも感じます。Vimがより多くの人にとって使いやすくなるのは良いことですが、そのやり方はあまり好きではありません。作者には称賛を送ります。

  • Vimの使い方のコツに関する意見

    Vimが気に入らないなら、EscapeキーをCapsLockに再マッピングすべきです。Escapeは最も重要なキーで、入力を終えるたびに使う必要があります。このキーが指から最も遠い場所にあってはいけません。Ctrl+[ や Ctrl+C を使う人もいますが、再マッピングのほうがより良い方法です。

  • Vimの既存機能に関する意見

    作者は、すでにVimに組み込まれている「easy vim」モード(別名 evim、または vim -y)を知らないようです。モードのないエディタを探しているなら、Vimは向いていません。Vimを学ぶのは旅のようなもので、慣れてくればVimがなぜそうなっているのか理解できるようになります。

  • Vimに対する個人的な見解

    長年Vimを使ってきた者として、vim -y も試してみることを勧めます。他人がどんなエディタを使おうと放っておけばいいのです。プログラミングはただでさえ十分に難しいので、他人の信条に合わせて自分のエディタを使う必要はありません。

  • 統合ユーザーインターフェースに関する意見

    Unix/LinuxがIBMのCommon User Access(標準化されたメニューシステム)を採用していたらどう違っていたのだろう、と気になります。VIとEMacsは同じキーバインドを持っていたでしょう。

  • Vim利用の実用性に関する意見

    Vimをたまに使う主な理由は、すべてのVMでデフォルトで使える唯一のまともなエディタだからです。最初から入っていて、設定を変えたり別のエディタをインストールしたりするのは簡単ではありません。

  • Vimの設定ファイルに関する意見

    このリポジトリの設定ファイルは、Vimをモードのないエディタに変えます。複雑なコマンドを覚える必要はなく、Ctrl+Sで保存し、Shift+矢印キーでテキストを選択し、Ctrl+C/Vでコピー&ペーストできます。この設定は、グラフィカルなエディタよりVimを好むユーザー向けではなく、GUIエディタ(たとえばVSCode)を主に使っているけれど、ターミナルで動かせるエディタが必要なときのためのものです。

  • Vim利用の哲学に関する意見

    初めてviに触れてから数日でこのような試みをしましたが、さまざまなマシンにログインする必要があったため、基本的なviを使うほうが良いと判断しました。この哲学は何年にもわたってうまく機能してきました。

  • Vimに対する感情的な投資に関する意見

    (Neo)Vimの投稿には多くの感情的エネルギーが注ぎ込まれていますが、その大半はVimを学んでいない人たちが感じる不安定さに起因しています。このリポジトリをすばやく読み込めるなら、Vimを嫌う人たちの助けになるかもしれません。Vimはもはやプログラミング界を支配しておらず、新しいプログラマーにとっては選択的なスキルになっています。

  • モードのない Vim に関する意見

    モードのないVimは、ピーナッツバターの入っていないピーナッツバターサンドイッチのようなものです。しかし、それが望むものなら、そのまま使えばよいのです。