Skip to content

Instantly share code, notes, and snippets.

@thinca
Created December 1, 2017 05:29
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save thinca/defc04d3f8525fdf731037545371bb87 to your computer and use it in GitHub Desktop.
Save thinca/defc04d3f8525fdf731037545371bb87 to your computer and use it in GitHub Desktop.

なぜ Vim はいきなり文字を入力できないのか

2017-07-20 Fablic.vim #2 thinca

Vim 初心者あるある

  1. 終了できない

  2. 文字が入力できない

Vim 初心者あるある

  1. 終了できない

  2. 文字が入力できない ↑これの話

そもそも

Q. Vim とは何なのか?

A. テキストエディタ

Q. テキストエディタって何?

A. テキストを編集するためのソフトウェア

Q. テキスト編集って何?

テキスト編集

  • 文字入力
  • コピー
  • 切り取り
  • 貼り付け
  • 検索
  • undo / redo
  • etc...

様々な操作がある

様々な操作を組み合わせて作業をしている

注目

テキスト編集

  • 文字入力 ←
  • コピー
  • 切り取り
  • 貼り付け
  • 検索
  • undo / redo
  • etc...

     文字入力は数多くある
テキスト編集操作の1つに過ぎない

改めて Vim について

Vim の場合

  • 起動直後はノーマルモード
    • テキストを編集するモード
  • 様々なコマンドでテキストの編集ができる
  • vi ではコマンドモードと呼ばれていた
    • コマンドラインモードと紛らわしいので Vim ではノーマルモードと呼ぶ

ノーマルモードでできること

  • 文字入力 … i/a etc.
  • コピー … y
  • 切り取り … d
  • 貼り付け … p
  • 検索 … /
  • undo / redo … u / <C-r>
  • etc...

i/a コマンド

  • i/a も数あるコマンドの1つに過ぎない
    • × 挿入モードへ移行するコマンド
    • ○ 文字列を挿入するコマンド
  • 実行が終わったら(<Esc>)ノーマルモードに戻る
    • 全てのコマンドは終わるとノーマルモードに戻る

ノーマルモードのメリット

  • キーボードの各キーによく使う 編集コマンドを割り当てられる
    • 修飾キーを使う必要がない
    • 手への負担が減る
  • 限りあるリソース(キーボードのキー)を有効に使える

編集単位

  • よくある操作「undo / redo」
  • どういった単位で undo / redo されるのか
  • 「全てのコマンドは終わるとノーマルモードに戻る」
  • undo / redo 単位が明確になる

まとめ

  • テキスト編集操作は色々ある
  • 文字入力も多くあるテキスト編集操作の1つ
  • Vim では文字入力も含めて全てコマンド
    • 他の編集コマンドと同等に扱うので 起動直後は文字を入力できない

おまけ

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment