HOME/📗 Vim/

📗Vim

Article Outline

|| コマンドあれこれ(基礎編)

| エディタ起動

  • $ vim:vimエディタを起動
  • $ view:vimエディタを起動(viewモード)
    • => vimの機能を使って、ファイルの書き換えミスの保存やアクシデントなどを防ぎたい時に利用

| インサートモード

  • i:インサートモードに切り替え
    • => ファイルに書き込むためのモード

様々な入り方

  • a:次の文字からインサートモードに切り替え
  • o:カーソルの下に空白を入れ、インサートモードに切り替え
  • O:カーソル行に空白を入れ、インサートモードに切り替え
  • esc:ノーマルモードに切り替え
  • ::コマンドモードに切り替え
  • \:コマンドモードに切り替え
  • v:ビジュアルモードに切り替え
    • => 複数文字や行を選択できる

| ノーマルモード

カーソル移動

  • k:↑上に移動
  • j:↓下に移動
  • h:←左に移動
  • l:→右に移動
  • 0:行頭に移動
  • ^:インデントの先頭に移動
  • $:インデントの行末に移動
  • {:ひとつ上の段落に移動
  • }:ひとつ下の段落に移動
  • [[:ひとつ上の空白行に移動
  • ]]:ひとつ下の空白行に移動
  • gg:ファイルの先頭に移動
  • G:ファイルの最後に移動
  • Ctrl + o:移動前に戻る

保存

  • w:上書き保存
  • wq:保存して終了
  • q:編集終了
  • q!:保存をせずに終了

削除

  • x:1文字削除
  • dd:1行削除
  • 2dd:2行削除
  • 3dd:3行削除
  • dw:単語ごとに削除

戻る(undo)& 進む(redo)

  • u:ひとつ前の状態に戻す(作業と元に戻す)
  • Ctrl + r:直前の操作に進む
  • = : その行でインデント位置を自動修正

コピー(ヤンク)&ペースト(プット)

  • yy:1行コピー(ヤンク)
  • {数字}yy:複数行コピー
    • e.g. 2yy:2行コピー
    • e.g. 3yy:3行コピー
  • p:カーソルの下にペースト(プット)
  • P:カーソルの位置にペースト
  • yyp: コピペ
  • ddp: カット&ペースト

連結

  • J:カーソル行と下の行を連結する

| コマンドモード

  • ::コマンドモードに切り替え

実行

  • :!${コマンド}:コマンドを実行
    • e.g. :!python3 test.py: Pythonファイルを実行
    • e.g. :!ruby test.rb:Rubyファイルを実行
    • e.g. :!ls:lsコマンド(一覧表示)
  • :!!:前のコマンドを実行

削除

  • :%d:一括削除(ファイルの中身を空の状態にする)

検索&置換

  • \${ワード}:検索
  • n:次の検索結果に移動
  • N:前の検索結果に移動
  • R:置換
  • :%s/${検索ワード}/${置換ワード}/g:一括置換
    • e.g. :%s/dev/prod/g:devのワードをprodへ全て置換する
  • :%s/${検索ワード}/${置換ワード}/gc:確認しながら置換
    • e.g. :%s/dev/prod/gc:devのワードをprodへ、1ワードずつ確認しながら置換が可能。コマンド実行後に、確認オプションが出力される。

移動

  • :set number:行数を表示
  • :set nonumber:行数を非表示
  • :${数字}:指定した行数に移動
    • e.g. :5:5行目に移動
    • e.g. :10:10行目に移動

コメントアウト

  • :norm I#:複数行コメントアウト

| ビジュアルモード

コピー

  • y:カーソル指定をコピー コピーした後はノーマルモードのpでペースト

移動

  • >:選択したものを右にインデントで移動
  • <:選択したものを左にインデントで移動

|| REFERENCE