よちよちpython

独習 python/Qpython/Pydroid3/termux/Linux

【 vi / Vim 】CUIテキストエディタ超絶基本操作

何じゃこりゃ???


Android端末へターミナルアプリtermuxをインストールし、さらにそこからpythonをインストールする際にWebページを参考にしていたのですが、途中で立ち往生した所がありました。
その一つが今回かきましたviVimです。

普段、コンピュータで文章を編集するにはスタートメニューやショートカットアイコンからメモ帳やワード等のテキストエディタを開いて行いますよね。
起動するとウィンドウが出てきて、そこの編集画面にキーボードなどで文字を入力して行きます。

Windowsコマンドプロンプトを使ってスクリプトを動かす方法を行う場合でも、そのスクリプトを書くのはコマンドプロンプトと別のエディタアプリを立ち上げ、コマンドプロンプトとは別のウィンドウ上で書くのが普通だろうと思います。


しかし、どうやらスーパーハッカーの方々は、スクリプトの実行もスクリプトの編集作業もなんでも全部ターミナル一つだけで行っているようなのです…マジか……



そんな事情をこちとら全然知らないですから、説明の中でサラッと「Vimで云々、viコマンドで云々」と書いてあるので「なんだ、vimとコマンドを入れればいいのか…カタカタ……Enterキー、 よいしょっと……」と手順にある通りに入力したのが地獄の一丁目


なにやらターミナルの画面表示が普段と少し変わります。
ターミナルと別のウィンドウが開いたならば「何か新しいイベントが行われたのだな?」と素人目にも分かるのですが、そうではないので気づかない。

キーボードを叩いても反応がありませんし、でも時おり反応しているようで「何じゃこりゃ???

その、何じゃこりゃ???とニッチモサッチモ行かなくなっている人に向けて、冒頭が長くなりましたが、超絶に基本的なvi / Vimの操作を書きます。

参考

vim公式 日本語ガイド
vim-jp.org

WikipediaVim
Vim - Wikipedia
Vimはviから派生したエディタ。基本操作方法はほぼ同じで、名前が少し違うが同じものとして扱います。
コマンドがviでもvimでも同じ画面が起動。
(以降「vim」と記します)

目次

さて、早まってこれを打った

$ vim


ターミナルでこのコマンドを打ち、知らずに地獄の一丁目入口に立たされた。
今、このような画面を見ていますね?

f:id:chayarokurokuro:20190519205329j:plain



一番上にVIM - VIと書いてある。
viとコマンド入力したら立ち上がるこの画面が、CUI高機能テキストエディタviVimの起動画面です。
ターミナル端末上でテキストエディタアプリを開いた格好。


しかしここは地獄の一丁目
キーボードの反応がギクシャクし、壊れたか操作が尋常ではないと思っている方を薄情にも一旦待たせておき、起動後まだ何もキーボードを叩いていない幸運な方へ。

vimを終了

手順はこう。
一刻でも早く地獄の一丁目を抜け出さなければなりません。

f:id:chayarokurokuro:20190519220556j:plain

「No Name」と書かれた下に「INSERT」の表示がない事を確認したら、無我夢中で「:q」と入力し【Enter】。
クイッと脱け出す。

f:id:chayarokurokuro:20190520085221j:plain



無事に地獄の一丁目を脱け出したあなたは、この画面に戻ってきています。
f:id:chayarokurokuro:20190520085259j:plain





モードの切り替え

実はviには

のほか、幾つかのモードがあります。

Anacondaに入っているJupyterNotebookなどと同様、

  • 挿入モードで本文の編集ができ、
  • コマンドラインモードで保存や終了、ファイルを開くなど

の切り替えを行いながら操作します。


モードの切り替え方法

  • 【i】または【a】を叩くと挿入モード突入。本文の編集ができる。「INSERT」と表示。
  • 【ESC】ボタンで操作モードを脱け出しコマンドラインモード突入。

「i」を押せば挿入モード
f:id:chayarokurokuro:20190519223654j:plain

または「a」でも挿入モード
f:id:chayarokurokuro:20190519223737j:plain


挿入モードをぬけコマンドラインモードにエスケープ
f:id:chayarokurokuro:20190519210455j:plain

本文変更後の終了方法

地獄の一丁目入口で悪足掻きをしたわたくしはマグレでaiを押してしまい、ファイルの変更がなされてしまいました。
地獄の一丁目に一歩足を踏み込んでしまったのです。
そうとも知らず「へへ、クイッと脱け出すぜ」とドヤ顔で「:q」と入力し【Enter】を押したが、閻魔大王に引き留められます。


f:id:chayarokurokuro:20190519221817j:plain

閻魔大王を振り払い「だがクイッと脱け出すの!」
保存せず終了するときは ! をつけて。
「:q!」【Enter】

これでvimを終了し、ターミナルに戻ることができます。

f:id:chayarokurokuro:20190519222250j:plain



その他に「:x」【Enter】でも終了できます。

f:id:chayarokurokuro:20190519225317j:plain
本文に変更があれば上書き保存して終了。


変更後にファイル名がなかったので警告
f:id:chayarokurokuro:20190519225900j:plain


保存


f:id:chayarokurokuro:20190519231441j:plain

終わりに

使い方が特殊で覚えるのも大変ですけど、一度覚えてしまうと効率が飛躍的に高まりますとのことです。


閻魔大王を制すには使って慣れるしかない!
クイッと!