Open2

Vim

seiya2130seiya2130

コマンド

  • i
    • 挿入モードで編集が可能(Escでコマンドモードに戻る)
  • :wq
    • 保存して終了(write quit)
seiya2130seiya2130

1. 範囲選択(ビジュアルモード)

  1. 文字単位で選択

    • ノーマルモードで v を押すと、カーソル位置から文字単位で選択開始。
    • ←→↑↓キーや移動コマンド(w, e, h, j, k, l など)で範囲を拡張・縮小。
  2. 行単位で選択

    • ノーマルモードで V を押すと、行全体を選択開始。
    • j/k などで複数行を範囲指定。
  3. 矩形(ブロック)選択

    • ノーマルモードで Ctrl-v (または 〈C-v〉)を押すと矩形選択開始。
    • h/j/k/l などでブロック領域を選択。
    • たとえば、複数行の同じ列にまたがる列操作に便利。

ポイント: 選択モード中に o を押すと、選択開始位置とカーソル位置を入れ替えて範囲を調整できます。


2. コピー(ヤンク、yank)

  • ビジュアルモードでコピー

    1. 選択モード(v/V/Ctrl-v)で範囲を選ぶ。
    2. y を押すと、選択範囲がヤンク(コピー)され、デフォルトレジスタに保存される。
  • ノーマルモードでモーション指定してコピー

    • 単語単位: yaw(カーソル下の単語をヤンク)
    • 行末まで: y$
    • 行全体: yy または Y
    • 複数行: Nyy (例: 3yy は現在行を含めて3行ヤンク)
    • モーションと組み合わせ: たとえば y} は次の段落末までヤンク、y} 等。
  • 行番号で範囲指定してコピー

    • コマンドラインモードで :start,endy

      • 例: :10,15y は10行目から15行目をヤンク。
      • :.,.+2y は現在行(.)から下2行分をヤンク。
  • システムクリップボードへコピー(必要に応じて)

    • "+y または "*y を使う。

      • 例: ビジュアル選択中に "+y で選択範囲をOSクリップボードに送る(環境によっては有効でない場合あり)。
      • 行単位: "+yy など。

3. 削除(delete)

  • ビジュアルモードで削除

    1. v/V/Ctrl-v で範囲選択。
    2. d を押すと選択範囲が削除され、既定のヤンクレジスタに保存される(貼り付け可能)。
  • ノーマルモードでモーション指定して削除

    • 行削除: dd
    • 複数行削除: Ndd(例: 3dd は現在行含め3行削除)
    • 単語削除: dw(カーソル位置から単語末まで削除)
    • 行末まで削除: d$
    • 行頭まで削除: d0
    • モーションと組み合わせ: d}(次の段落末まで削除)、d^, dt,(カンマまで削除)など。
  • 行番号で範囲指定して削除

    • コマンドラインで :start,endd

      • 例: :5,8d は5行目から8行目を削除。
  • 削除時にクリップボードを利用せず破棄する(ヤンクレジスタを汚したくない場合)

    • ブラックホールレジスタ "_d を使用。

      • 例: ビジュアル選択中に "_d で削除すると、ヤンクレジスタには入らず破棄。
      • モーション: "_dw など。

4. ペースト(貼り付け、put)

  • ノーマルモードで貼り付け

    • p: カーソルの直後(文字単位の場合はカーソルの次の位置、行末なら次行先頭)に貼り付け。
    • P: カーソルの直前(前)に貼り付け。行単位ヤンクなら現在行の上に貼り付け。
  • ビジュアルモードで貼り付け

    • 通常、ビジュアルで選択後に p を押すと、その選択範囲がヤンクレジスタに送り替えられ、貼り付け動作で置換される。
    • 置換を避けて単に貼り付けたい場合は、ノーマルモードで貼り付け位置に移動して p または P
  • 特定レジスタから貼り付け

    • 例: "+p でシステムクリップボードから貼り付け。
    • 他レジスタ: "ay, "ap など。

5. 具体例まとめ

  1. 行3〜5をコピーして貼り付け

    • :3,5y でヤンク → カーソル移動 → p で貼り付け。
  2. 現在行以下3行を削除

    • 3dd
  3. 単語をコピーして貼り付け

    • カーソルを単語先頭に置き、yaw でヤンク → カーソル移動 → p
  4. 矩形範囲をコピー・削除

    • Ctrl-v → カーソル移動で矩形選択 → y(コピー)または d(削除) → 別位置で p(貼り付け)。
  5. システムクリップボードとの連携

    • ビジュアル選択→"+y → 他アプリにペースト。
    • 他アプリからコピーした内容をVimへ貼る: ノーマルモードで "+p

6. コツと注意点

  • 操作前にモードを確認: ノーマルモード (Esc) から始める。
  • ヤンクと削除はレジスタに格納: 何を貼るかは最後にヤンク/削除した内容。必要に応じてレジスタを使い分ける。
  • undo/redo: 操作を誤ったら u(undo)、Ctrl-r(redo)で元に戻せる。
  • 複数ファイルでのやり取り: Vim以外のクリップボードと連携するにはビルド時に +clipboard が必要。環境で動作しない場合は確認。
  • 練習: Vimの基本操作は慣れが大事。軽いテキストファイルで試しつつ覚えると効率的。