まだプログラマーですが何か?

プログラマーネタとアスリートネタ中心。たまに作成したウェブサービス関連の話も http://twitter.com/dotnsf

タグ:vi

自分はコーディング時のエディタを使い分けています。具体的には Java の場合は Eclipse 、それ以外は vi/vim を使うことが多いです。他がどうとかいうつもりはありませんが、指がショートカットを覚えているので生産性がいいと思っています。個人的にはこれらの使い分けで戸惑うことはありませんでした。

そんな時に Vrapper という Eclipse プラグインの存在を知りました。Eclipse 内のコーディングキーバインドを vi 風にする、というものです:
2017012801


そんなものが存在していてもおかしくはないだろうな、と思っていましたが、具体的なものを知ったのは初めてでした。試しに最新バージョンの 0.70.0 を使ってみました。

Vrapper を使う前提として、Eclipse は 4.0 以上である必要があるとのことでした。というわけで Juno (4.2)以降の Eclipse 環境を用意する必要があるのですが、今回は Eclipse Neon(4.6) 環境を用意して導入してみました。以下、その時の様子を紹介します:

Vrapper の導入方法は他の Eclipse プラグインと同様です。 まずはメニューの Help - Install New Software を選択:
2017012801


プラグインの Updatesite を指定します。このページによると同プラグインの安定版の Updatesite は http://vrapper.sourceforge.net/update-site/stable らしいので、この URL を指定します。するとインストール可能なプラグインの一覧が表示されるので、必要なもの(特定の言語依存のプラグインを導入しないのであれば) "Vrapper" 本体と "Optional Vimscript Plugins")にチェックを入れて先に進みます:
2017012802


インストール中の様子です。しばらく待ちます・・・:
2017012803


このようなダイアログが出たら Eclipse を再起動します。再起動後に Vrapper が有効になります:
2017012804


Eclipse 再起動後に、どんな感じが試すために1つプロジェクトを作ってみました:
2017012805


Java プロジェクトを作って、その中に MySample01.java というファイルを新規に追加しています:
2017012806


すると(静止画像では伝わりにくいのですが・・・)テキストファイル内のカーソル移動、編集モードへの移行(i)、ビューモードへの移行(ESC)など、キーバインドが vi/vim 風に切り替わっています。おお、なんか変な感じ(笑)!:
2017012807


":" を押してコマンドモードに移動する操作も再現できています。vi/vim では ":sp (ファイル名)" で画面を分割して2つのファイルを同時に編集することができますが、同じことをやってみます:
2017012808


Eclipse の2ファイル同時編集モードが上下にタイル分割されて実行されました!すげー、元の機能をうまいこと使って融合できているようです:
2017012809


もちろん ":q" で終了できます:
2017012810


はい、元の1画面モードに戻りました:
2017012811


というわけで、vi/vim の基本的なキーバインドは再現できているようです。これで Eclipse 内でも vi/vim のキー操作が使えるようになって超便利・・・なのかどうかはまだよくわかりません(苦笑)が、面白いプラグインであることは間違いなさげ。

CentOS に限りませんが、本当にまだあまり IT スキルの高くないユーザーが Linux/UNIX の勉強を始めようとすると、最初につまづくものの1つが「テキストエディタ」だと思っています。

Windows であれば「メモ帳」、Mac OS X なら「SimpleText」など、ちょっとしたメモを残す程度の用途で使う簡易テキストエディタが標準で用意されていますが、UNIX の場合、この標準エディタに相当するのが "vi" です。

vi は「慣れてしまえば」片手をホームポジションに置いたまま "J" キーと "K" キーで上下スクロールできるし、単語まとめて置換とか、正規表現で検索したりとか、カスタマイズで柔軟に設定できるとか、便利なエディタだと思うのですが、いかんせん「編集モード」と「閲覧モード」の切り替えという、他のエディタにない特徴(というか「クセ」)があるので、Linux 初心者がつまづきやすいと感じています。

Linux でも GUI 環境であれば GNOME の標準エディタである gEdit など、メモ帳に相当するエディタがないわけではありません。ただ一般的なクラウドで Linux を選択した時など、初めから GUI が提供されていることは滅多にないし、サーバー用途だったりすると GUI 導入そのものが認められないことも考えられるので、結局はテキストベース環境でも Linux を操作できるスキルが必要になります。


というわけで、「UNIX の CUI 環境でもメモ帳感覚で使える軽量テキストエディタ」を探してみました。そして現時点では今回紹介する ee(EasyEditor) が有力候補かな、と感じています。
2014100201

ee はテキストターミナル画面内で起動することができ、また画面内上部には最低限必要な操作メニューが常時表示されています。例えば「メニューを開く」は Ctrl + [ で、検索は Ctrl + e で、終了は ESC > Enter で、ファイル保存は Ctrl + [ > c > c で、といった具合です。一応、これだけ覚えておけば設定ファイルの編集くらいはできるかな、と。

この ee は yum では提供されていないようなので、インストール時はソースファイルをビルドする必要があります。ネットワークに接続された状態から以下を実行します:
# cd /usr/local/src
# wget ftp://ftp.uwsg.indiana.edu/linux/gentoo/distfiles/ee-1.5.2.src.tgz
# tar xzvf ee-1.5.2.src.tgz
# cd easyedit-1.5.2
# make
# make install

で、以下のコマンドで ee が導入できているかどうかを確認できます:
# which ee
/usr/local/bin/ee ←こう表示されれば成功

これでコマンドラインから ee コマンドが使えます。パラメータなしで "ee" とだけ実行すれば新規ファイルを、ファイル名を指定して実行すればそのファイルを読み込んで(なければそのファイルを新規作成して)開きます。
# ee /etc/hosts (/etc/hosts を ee で開く場合のコマンド)


・・・んー、でも vi 使えない人だと、そもそもビルドするまでの手順が結構厳しかったりするのかな?? 本当は vi を覚えるべきだと思いますが、それまでの間のつなぎとして。



 

このページのトップヘ