.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

  • テキスト・エディタ。
  • CUI時代のエディタなので(マウス、カーソル・キー)を使用しない。
  • Windows系エディタとは操作方法が異なり、
    • 命令を覚える必要がある(画面上にメニューが無い)
    • 一通りのテキスト編集作業ができるようになるまで慣れが必要となる。
  • ターミナル側の機能で、利用できるようになるケースもある。
    (ターミナルの機能が無いと、本項を読んでも利用が難しい感じ)
  • しかし、一旦慣れてしまえばテキスト編集速度を
    得ることができるため、数多くのvi、Vim愛好家が存在する。

詳細

操作

キー

ノーマル・モードでキー入力すると挿入モードに。

  • 編集操作
  • 挿入
    キー説明なんの?
    aカーソルの右から入力開始Append の a
    A行末から入力開始
    iカーソルの左から入力開始Insert の i
    I行頭から入力開始
    o現在の行の下に1行挿入し、その行頭から入力開始Open blank line の o
    O現在の行の上に1行挿入し、その行頭から入力開始
  • 置換
    キー説明なんの?
    rカーソル上の1文字を他の1文字に置換Replace の r
    Rカーソル上の文字からEscが押されるまでの文字列を置換
    sカーソルのある1文字を他の文字列で置換Replace の r
    S現在の行を他の文字列で置換
    cwカーソル位置からこの語の最後までを置換Replace の r
    cf 字カーソル位置から指定した字までを置換
    Cカーソル位置から行の最後までを置換
    (チルダ)~大文字/小文字を変更する
  • 削除
    キー説明なんの?
    xカーソル上の1文字削除
    Xカーソルの左の文字を1文字削除
    :行1, 行2d 行1 から行2 を削除
  • &ペースト
    • カット
      キー説明なんの?
      dd現在の行を削除(バッファにコピーされる)Delete の d
      nddn行、削除
      dwカーソル上の一語を削除
      d$カーソル位置から行の最後までを削除
  • コピー
    キー説明なんの?
    yy現在の行をバッファにコピーYank の y
    nyyn行分をバッファにコピー
    yw単語をバッファにコピー
    pバッファ内のテキストをカーソルの[後]に挿入Paste の p
    Pバッファ内のテキストをカーソルの[前]に挿入
  • 検索
    キー説明なんの?
    /<文字列>文字列 を検索する
    ?<文字列>文字列を検索する(逆方向)
    n上記に続けて、順方向へ検索するNext の n
    N上記に続けて、逆方向へ検索する
  • 傾向
    • 大文字・小文字で意味が逆転 or 変化する。
    • 数値+編集操作でn文字・行を対象に。
    • w+編集操作でワードを対象に。
  • h j k l
    矢印キーの代替キー
    • h: 左へ移動
    • j: 下へ移動
    • k: 上へ移動
    • l: 右へ移動
  • w b e
    単語単位の移動
    • w: 次の単語の先頭へ移動
    • b: 前の単語の先頭へ移動
    • e: 単語のお尻へ移動
  • 0 $
    行の先頭/末尾への移動
    • 0: カーソルがある行の先頭へ移動
    • $: カーソルがある行の末尾へ移動
  • Ctrl + X
    ページの上/下への移動
    • F: 1ページ下へ
    • B: 1ページ上へ
    • D: 半ページ下へ
    • U: 半ページ上へ
  • 傾向
    • 大文字・小文字で意味が逆転 or 変化する。
    • 数値+移動操作でキーをn回押下したことに。
  • 編集操作 + 移動操作
    編集操作と移動操作を組み合わせて実行できる。

コマンド

  • 開始・終了
    • help
      ヘルプを表示する。
  • q[!]
    viの終了(ファイルを保存して終了)。
    「!」を付けると、ファイルを保存せずに終了する。
  • qa[!]
    viの終了(編集中ファイルを保存して終了)。
    「!」を付けると、編集中ファイルを保存せずに終了する。
  • x
    ファイルを保存してviを終了する。
    (変更が無い場合は保存しない)
  • wq[!]
    ファイルを保存してviを終了する。
    (変更されていなくても必ず保存)
    「!」を付けると、読取モードでも強制書込して終了。
  • w ファイル名[!]
    ファイル書込。
    「!」を付けると、読取モードでも強制書込して終了。
  • r ファイル名
    ファイル読取。
    カーソルのある行の下へ追加。
  • 編集操作
    幾つかある。
  • 行1, 行2
    行1 から行2 を削除
  • &,
    & 直前のsコマンドの繰り返し
  • :%s/置換え前/置換え後
    置換え前の文字列を、置換え後の文字列で置換
    もっとも近くにある文字列一つに対してのみ実行
  • :%s/置換え前/置換え後/g
    ファイルの中すべての文字列に対して、置換えを行う

モード

ノーマル・モード

初期状態

  • 操作
  • モード
    • 演算子未解決モード
      実行範囲の指示が必要なコマンドを実行した場合にVimが指示を待っている状態。

ビジュアル・モード

テキストを選択するだけのモード。

  • セレクトモード
    印字可能文字が入力されると選択範囲を削除して挿入モードに入る。
  • 挿入ビジュアルモード
    挿入モードでビジュアル選択を開始したときのモード。
  • 挿入セレクトモード
    挿入モードでセレクトモードを開始したときのモード。

挿入モード

  • メモ帳ライクな操作性で、編集操作を行うモード。
    • 「i」で挿入を開始
    • 「esc」で挿入モードを終了
    • ...環境によって、カーソルキーが使えない気が。
  • 他のアプリからのコピペを行う場合、
    • ターミナル内ではクリップボードが無いので、
    • ターミナル経由の場合、ターミナルの機能で行う。
  • 挿入モードのモード
  • 挿入ノーマルモード
    挿入モード時に一度だけノーマルモードのコマンドを実行できる。
  • 置換モード
    ノーマルモードからRでこのモードに移行する。
    文字をタイプするとその分文字が置換されていく。

コマンドライン・モード

  • コマンドは、「:」を押した後にコマンドを入力
  • 最後にEnterキーを押下することでコマンドを実行。
  • Exモード
    コマンドライン・モードの変種。

トラブル

E325:ATTENTIONエラー

参考

  • viを終了することができない人のための
    viの使い方 | 三度の飯とエレクトロン
    https://blog.katty.in/853

Wikipedia

Qiita

eng-entrance.com


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-04-14 (水) 15:55:10 (34d)