「おれ・・・ Vimmerになる!」vimmer初心者を脱する方法とvim環境を作る方法

こんにちは、半年後くらいにはVimmerになっていると思われる者です

タイトルのVimmer(ビマー。ビ↑マー? ビマ↓ー?)とは、古来のテキストエディタVimユーザーのこと。Chromebookの生ヌルユーザーがなんでいきなりVimmerになろうかというと、実践Vimという本を読んでそのキーバインディングに感動したから



実践Vimには、筆者のこんな文言があります
"1行のなかでhキーを3回以上叩いているのなら、それはキーストロークを無駄遣いしている"
―『実践Vim 思考のスピードで編集しよう! (アスキー書籍)』No3081 から引用
これは深い世界の予感・・・・・・





ぼく「キーバイディングがすごい!」

マウスが普及していなかったころ開発されていたテキストエディタに起源を持つ、いにしへのテキストエディタVimは、キーボードだけで作業が完結されることが目指されてる。いかに少ないキー操作数で作業を完了できるか?という点に特化していて、豊富なワードジャンプ機能に加え
  • マイクロマクロ・マクロ機能
  • 数々の伝統的便利プラグイン
といった、カスタマイズ・ハマ(熱中)り要素が多くありVim熟練度があがればあがるほど、テキスト編集の効率をバク上げしてくれるでしょう。将来的に Vim LV 30くらいへなりたい







Vimmer On ChromeBook

私はChromebookでVimmerになることを目指しており、ChromeOSでも使えるVim環境を紹介します。入門直後でvimについてあれやこれやいうほどの知見も経験がないので、記事内容はVimmerになろうよ!的なものになってます。



ChromeOS/ChromiumOSでも使えるVim環境には、
  1. Androidアプリ
  2. Chromeアプリ
  3. Crostiniの端末アプリ
  4. Chrome拡張機能
の順番で利便性の高いVim環境が作れます。もっともおすすめは、PlayStoreをONにしてAndroidアプリでVimることです。最近のChromebookではPlaystoreがONにできるものが多いので、
  • 環境構築の楽さ
  • 管理の楽さ
  • 利便性の高さ
を考えるととってもおすすめです。



追記:2022/10/18
この記事の公開当時(2019年)にはまだ普及していなかったCrostiniですが、現在発売されるChromeBookではあたりまえにCrostiniが動くようですね。だったらCrostiniでLinux環境でVimするというのが気軽でいいかもしれません。





◎ Android アプリ でVim環境をつくる

Androidアプリのtermuxでvimが使えます。別記事にまとめてあるので、ChromeBookでAndroidなVim環境を作る方法はこちらでご覧ください
2019年4月27日 ChromeBookでBashの実行環境をつくる方法







○ ChromeアプリでVim環境をつくる

普段遣いエディタのキーバインディングをVimにする

Vimのモーダルなエディタに初めは辟易すると思われるので、まずは気負わず普段使いのエディタから始めたらいいんですよ。キーバインディングをVimにするメリットは、Ctrl-s(文書保存)が使えるなど、テキストエディタの使用感を損なわないのが初心者向きという。


  1. Caret 【ChromeApp】 参考リンク: LinuxでモダンなWebエディタはCaretだ! 
  2. WebMaker 【ウェブアプリ】 参考リンク: ChromeBookを使ってWeb(html5,css3,JavaScript)を勉強する実践的な方法
Chromebookで定番のテキストエディタといえばCaret、そしてオフラインCodepenことWebMaker(拡張機能)が私の普段使いエディタです。これらをVimキーバインドにしてしまう方法。具体的方法は以下です



1 Caret キーバインディング変更方法

・方法1 コンフィグをいじる
環境 > 環境設定 

L65 'emulateVim' : false  を  true 
行数は、お手元の環境によっては異なるかもです。Ctrl + f で ' emulateVim' を探して見てください


・方法2 クイックコンフィグでいじる
Ctrl + <   (注: shiftキー要らないです。小なりキー? ねキー?)
KeyBinding を Vim に

このクイックコンフィグからキーバインディングを変更するのが敷居が低くてよさげですね。気軽にバインディングを変更して疲れたらAceにもどす



2 WebMaker のキーバインディング変更方法

画面右下歯車をクリック

KeyBindings を Vim にチェック






○ Chrome拡張機能でVim環境をつくる

WASAVI

アイコン画像引用元:https://lh3.googleusercontent.com/vtwQc9J3BoYVPkE9cOXbPMIdTM94QZPR49vjd1QIAU91IBQo8PRyKWVxT4nQ5MUY4Pm4S9iYrg=w128-h128-e365

wasaviは、Viのjsクローンなのでviクローンエディタです。

WebStore: wasavi - Chrome ウェブストア
作者さま公式HP: wasavi - appsweets akahuku labs.

Webサイト上のテキストエリアにフォーカスがある状態でCtrl+Enterを押すとテキストエディットがVimでできるようになるというもの。起動ショートカットは変更可能で、Vim操作に慣れてくるとこのプラグインがとってもよきものだと気づきます。Webのエディットエリアで's///g'にて正規表現による一括置換ができるとかまじで良きです。


vimはカスタマイズが豊富にできるという特徴とは反対に、セッティング項目がおおすぎて

「どこから手をつければいいねん!?」
となってしまうのもまた事実。バニラ起動なwasaviで「いいね!」と感じたのは、挿入モードを抜ければ日本語IMEが自動でオフになること。これほんと気が効いてる


:set 可能な一覧はこちら
 All Options which wasavi recognizes · akahuku/wasavi Wiki

wasaviを実践的に学習に活かす方法は以下でどうぞ!
実践Vimの学習内容をリマインドして効果的に復習する

wasaviにはGoodleドライブなどのクラウドストレージアクセスやローカルファイル編集機能などありありでまだ試せていない・・・





△ ChromeアプリなVimをつかう

  nacl移植版vim

アイコン引用元:https://lh3.googleusercontent.com/napACp5zOEukhGIuNVSy0mHGxA193sujf7ZXvItDJDVjzOEi8cEhr9vUP0Bzbh-T6haYZxlROIY=w128-h128-e365

Vim - Chrome ウェブストア


「WebStoreにいろいろVimあるじゃん」
「Chromeアプリ?なVimはどうなんだろうか」
というとですね、ちょっと微妙な感じです。Websotreで見つかる Nacl版Vimには2点制約があります
  1. 日本語入力ができない
  2. ChromeOSのファイラーからアクセスできるディレクトリへ新規ファイルを作成できない
すでに存在しているファイルをこのvimで開いて編集し:wすることは可能だけど、新規作成&保存ができない。もっと正確にいうと、ChromeOSのデフォルトファイラーでは参照できない領域への新規保存は可能。保存したデータは消えないので:eで再編集も可能。だけど普段使いエディタとしては使いづらいというのが正直なところ。


ネイティブなvimなので使用感自体は悪くなかったりします。.vimrcも作成・編集・保存できる(後述)。他特徴(≠メリット)は
  • :! シェルコマンドは使えない(chromeos の /usr/bin を参照できるわけではない)
  • :ls とかVim組み込みコマンドは使える

試しに、:ls してみると

/tmpにあるドキュメントを参照している。ChromeOSのダウンロードフォルダにあるファイルを編集していたはずなんだけど、カレントディレクトリが/tmpとはこれいかに?一時ファイルを/tmpで処理しているんでしょうかね。

nacl VimがLinuxのようなディレクトリ構造を保持していて、その領域内でいろいろ保存したり作業している模様。Linux由来で他OSへ移植アプリってこんな感じですよね。このNacl番Vimの.vimrcの編集方法は以下でどうぞm(._.)m
「ChromeBookでオレVimmerになる・・・・・」 Nacl版 Vim の.vimrcを編集する


WebAssembly Vimが普通に動くようになると最高かもしれないんだけどなぁ・・・・・。







実践Vimの入手方法はなにがいいか?


実践Vimおすすめです!文章量は少し多めだけど、筆者の口語で書かれているから堅苦しくないし、難解な点が1ミリもないのでサクサク読み進められるんですよ。

問題は、どうやって書籍を入手するか。実践VimはAmazonですでに新書の発売がなく、かつ、マケプレの中古には鬼のような高い値段がついている。ペーパーバック版が存在していたような情報もあったのですが、現在Amazonには見当たらない。

一番良さそうなのは、Kindle電子書籍版での入手か。メルカリやヤフオクででGetもありますが、メルカリ相場はだいたい 1500円2000円〜くらい。出品があるとすぐ購入されちゃって競争率が高い書籍だったりします   


メルカリを”実践Vim”で検索 :  実践Vim商品一覧 - メルカリ スマホでかんたん購入・出品 フリマアプリ 
※たまに裁断済みの出品があるのでお気をつけを






さいごに: Vimの具体的な学習方法

読んだだけだと1mmも身にはならない。レッツ実践。ChromeBookでは、AndroidアプリでKindleが利用できるので電子書籍で実践Vimを読み勧めながら実践できるのが◎。
  1. サンプルコードをダウンロード Source Code | The Pragmatic Bookshelf
  2. 上記Vim環境でtipをこなして知識をため、メインエディタなVimにトライアンドエラーで試す
私は上記1,2の流れでやっています。



冒頭の引用再びですが、筆者の文言、
"1行のなかでhキーを3回以上叩いているのなら、それはキーストロークを無駄遣いしている"
―『実践Vim 思考のスピードで編集しよう! (アスキー書籍)』No3081 から引用
Vimにおいて hキー はカーソルを左へ動かすボタン。つまり左キーを3回以上押しているなら、それはキーストロークの無駄遣いということ。Vimにはさまざななジャンプ機能やショートカットがあるのでカーソル操作以外で編集できる。だからといって、カーソルキーの無駄遣いだなんて・・・・・・・、すごいですよねーこの本。どういう思考をしているんだか。こういうのを考えて、キー操作効率化を目指してレベル99になるための本です。





なんでコピーペーストをヤンクプットというのかという疑問には
"歴史的な経緯から、cコマンドにはすでに「変更」(change)操作が割り当てられているので、viの作者は別の名前を考える必要があったのだ。
yが使えたので、コピー操作はヤンクコマンドになった。"
引用元: "実践Vim 思考のスピードで編集しよう! (アスキー書籍)"(Drew Neil, 新丈 径 著)
と説明されて折り、歴史的アプローチを持ってVimへの理解を深めることもできる。



キーボード右下にある↑←↓→十字キーは、指の移動範囲が広くなってしまい、筆者的には指可動範囲の無駄遣いだから十字キーは無効にすべきと、Vimer養成ギプス的なありがたい提言もありますが、私は遠慮させてもらっています。確かに、移動をすべて十字キーでやってしまっていることには気づいたけど、、、そかまでやらんでも・・・

もしここまで読んで購入を迷われているなら、Amazonのレビューをご覧になってみてください。91%が星5つです。ネガティブ&ひいきレビューが目立つAmazonレビューで星5つの割合が多いのは良書のあかし。これであなたもVimmerだ! 一緒にChromeBookでVimLV99を目指しましょう!




コメント

  1. 最初は私も矢印キーでカーソルを動かしてました。
    色々いじっているうちに、w,b,e,など頻繁に利用するようになり、hkjlでの移動に慣れてくるので、問題ないかと思います。

    返信削除

コメントを投稿

こんにちは!コメントありがとうございます

item