414.Vim テキストエディタ

Vimというテキストエディタ使って見ました。
ネットでxxxx年おすすめエディタはこれ
といったテーマでは毎年必ず入っているので
どのようなエディタなのか興味があったので。
正月休みにダウンロードしてしました。

1日操作してみました
感想としては以下の3つです。
1、マウスやテンキーを使わないで使える。
2、コマンドを覚えると快速になる。
3、手探りで使うことは厳しい。


1、マウスを使わないで使える。

マウスや矢印キーも使えますが
Vimはそのマウスをほとんど使う必要がない
というか使わない方が力を発揮できる
というのがこのエディタでした。

というのは
カーソルキーの移動までも
アルファベットキーに割り当てて有る点です。

カーソルキーの移動は
一般的には矢印キーで上下左右移動するところですが
タッチタイプエリアの
h(左) j(下) k(上) l(右)に割り当ててありました。
エリア内で操作できるように作られていました。

またキー入力で機能を発動します。
ショートカットとは違い
ctrlやaltをあわせて実行するのではなく
キーをそのまま押して実行されものが多いです。

例としては
カーソル移動 トップは gg ボトムはGとか

コピーや削除も独自です。
行コピーは yy (VimではコピーのことをYankという)
行削除は dd
ペーストは p (このpはペーストでなくputでした)
一文字削除は xとかです。

ほとんどタッチタイプエリアで
入力、カーソル移動、編集
キー入力のみで処理することに
意味のあるエディタでした。

2、コマンドを覚えると快速になる。

エディタでよく使うような内容

たとえば
文字の検索や置換
5行下の3個目の単語に移動
マクロ記録、割り当て、再生など

どれもメニューから選択するのではなく
コマンド入力で処理します。

タブレットやスマホもそうですが
メニューがあれば画像を見て選択するだけで
良いので、はじめて使う時や、慣れていないときは助かります。
一方、速く操作しようと思うと、そのメニュー
方式のほうが限界が出てくるように思います。

それは
メニューは目で見て選択するからです。
選択するときはメニュー画像見て選択する必要があります。

Vimのコマンド入力は
メニューがないので知らないと使えないので不親切です。
でも、タッチタイプができると、見ないでキーを打つことができます。
Vimは操作のほとんどがコマンドもキーであることから
モニタを見なくても操作できます。

毎回 目視する動作がない分
速く操作できる可能性もあります。

Vimは短縮されたコマンドを入力して処理するエディタです。

食堂の例とすれば
ベテランの店員さんに
沢山注文しても
厨房に伝えるときは短縮形の言葉で伝えている
ことがあります。
お客は聞こえても何を言っているのかわからない。
そんな感じです。
Vimはその短縮形のコマンドが沢山有るというエディタです。

テキスト中の文字でIC100の文字検索したければ 頭にスラッシュをつけて
/IC100 という具合で検索します。

IC100をIC200に置換するときは
:%s/IC100/IC200/g です。
%は編集中ファイルの意味
sは置換するというコマンド
gはすべて置換の意味
オプションがコマンドになっているのでわかりにくいイメージです。

またコマンドは単なるコマンドとちょっと違いマクロ言語的な感じです。
5行下の3個目の単語にカーソルを合わせたい。 としたら
5 改行 3w というようにコマンドを打つことでその位置にカーソルが移動します。

さらにマクロの記録や再生もコマンドです。
a(a〜zのアルファベット)という変数に複数の処理コマンドを割り当てるイメージです。

qaでマクロ記録中となり 
上記のようなコマンド 5 改行 3w を入力 
qで記録終了

記録した作業をaを再生したければ
@a です。
10回繰り返したければ
10@aです。

マクロ的な言語をさらにマクロで記録して実行しているようなイメージです。

コマンドラインだけで全部やりきることを
突き詰めた感があります。

3、手探りで使うことは厳しい。
ところで
タッチタイプエリアだけで
どうしてカーソル移動から入力、編集ができるのでしょう。

それは、Vim独特のシステム、モード切替で補っていました。
入力モード、編集モードなど4つのモードあります。
モードを切り替えることでキーの役割を使い分けるシステムです。
だから 同じキーでもカーソル移動もできるし
文字入力もできます。

最初 文字を入力することさえできませんでした。
説明を読まずすぐ使ったためです。
入力モードに入るためには
i を押すのでした。 戻すのはESC (またはCTRL+[ )
それに気が付く人は誰?そんな感じでした。

こうしたキーによるモード切り替えは
手探りで気づくといったものではないので
ちゃんと使い方を調べてから使う必要ありです。

とりあえず
モードの切り替えは理解して操作しました。
でも慣れないので良く切り替えミスをしました。
入力のつもりでキー入力したら
まちがって編集モードにはいっており
編集機能に割り当てられているキーに
反応してしまい。
キー入力のスピードで意味不明な
編集操作しまった。
それも何度も。。

Undoは uキーです。
このキーで何度も戻しました。

わかると、できるの違いを痛感です。
jwcadでも感じましたが
Vimはそれ以上でした。

とりあえず使うことはできますが
独特のシステム、数多いコマンドを覚えて
思いつきの速さで使えるようになるには
結構時間がかかりそう。
習得コストが高いのがデメリットです。

知れば快速
知らなければ文字入力ですら迷う。
この幅がとても広い感じでした。

そのような独特なシステム、操作があるのに
使いこなせる人たちは誰なんだろうか?
調べてみると
Unix系のosではviというエディタが標準装備されています。
Vimはそれの派生版です。
それらのOSを扱う仕事のエンジニアは
viを扱えることが必要となることから
自然と習得している人が多いとわかりました。

これらを使える人達から見れば
自分のようにVimで入力すらできない場合は
とりあえずUnixとは関連がない人だという
指標にもなるかもしれませんね。

ネットでVimを検索していたら
実践Vim 思考のスピードで編集しよう!とかいった
書籍のタイトルが見つかりました。

この独特のコマンドを
無意識に使えるようになったとしたら
確かにそのタイトルのスピードで編集できると思いました。

Vimを使って見て独特を沢山感じたものの
一種の共感する印象に残ったのが
モード切替です。

このモード切り替えは
DREAMにもあるのです。

こちらはキーボードでできる事を切り替えるものではなく
マウスで処理を切り替えるモードです。

1、ムーブドローモード(描画)
2、システムモード(コマンド)
この2つです。

ムームドローモードは左クリックではTOP面 右クリックではBOT面の描画中心。
システムモードでは自分が定義したメニューコマンドをカーソル位置に表示して
選択。
そのほかにも左ボタンを押しながら上下左右でコマンドを発動
書くと長くなりややこしくなるので省略します。

DREAMの場合はCADなので
文字を打つよりも線を描く方なので
操作する頻度は圧倒的に
キーボードよりもマウスを手に持つことが多いです。

モード切替は
マウスでできる事をできるだけ増やすために考えたシステムといえます。

このモード切替も
最初違和感がありました
モードを切り替えるよりメニューを選んだ方がわかりやすいのにとか
思った記憶があります。
なので
ビュワー的にフリードリームをすすめたりすることがありましたが
この独特なマウスオペレーションのためか
思うように操作できないということを聞いたことがありました。
初めての人には操作性はよくなく
慣れた人には操作性は良い。
この異なる評価の差もVimに似ているようにも思います。

慣れきった自分は
モード切替が無いと困る。
毎回アイコンを押して選ぶしかなかったとしたら
とても面倒に思います。

このモード切替については
Unixなどを扱っている人はエディタから考えて
わりと自然に受け入れられるかもしれません。

DREAMCADの作者は
UnixでもPCBCADの開発実績があると聞きました。

そのモード切替の開発については
自然な事だったのかもしれません。


トップへ
トップへ
戻る
戻る