Linux初心者~viの使い方~

2017年12月1日システムLinux, vi

はじめに

仕事でLinuxを使うことになりviエディタも覚える必要が。。。
なので、調べた内容をまとめてみましたー!
もし、誤った内容があればご指摘をお願いいたしますm(_ _)m

vi練習チュートリアル

  • チュートリアル開始
$ vimtutor

キーコマンド

モード

コマンド 内容
esc 編集モードへ
i 挿入モードへ
o 挿入モードへ(新しい行を追加してから)
Shift + a 編集モードへ(カーソル位置の行末から)
Shift + i 編集モードへ(カーソル位置の行頭から)

カーソル移動

コマンド 内容
h 左へ移動
j 下へ移動
k 上へ移動
l 右へ移動

画面移動

コマンド 内容
Ctrl + d 半画面下へ移動
Ctrl + u 半画面上へ移動
zz カーソルが中央になる位置へ移動
gg 1行目へ移動
shift + g 最終行へ移動
: + 3 3行目へ移動
^ 行頭へ移動
$ 行末へ移動
w 単語単位に次へ移動
b 単語単位に前へ移動
% 対応する括弧へ移動

編集操作

コマンド 内容
yy カーソル行をコピー(ヤンク)
2yy カーソル行から2行コピー
p ヤンク文字列をペースト
dd カーソル行をカット
2dd カーソル行から2行カット
x テキスト削除
u 取消し(アンドゥ)
Ctrl + r (リドゥ)

検索操作

コマンド 内容
/検索文字列 検索(n:次へ検索、Shift + n:前へ検索)
* 検索(カーソル位置の単語で)

ウィンドウ操作

コマンド 内容
:split test.txt 水平分割表示
:vsplit test.txt 垂直分割表示
:close ウィンドウを閉じる
ctrl + w ウィンドウ移動

領域選択

コマンド 内容
v 領域選択スタート
Ctrl + v 短形選択スタート
Shift + v 行選択スタート
= 選択領域を自動インデント

その他

コマンド 内容
Ctrl + g ファイル情報を表示
:set number 行番号表示
:set ignorecase 大文字小文字を区別しない
:set noignorecase 大文字小文字を区別する

コマンド

置換

  • カーソル行を対象
:s/置換対象文字列/置換後文字列/
:s\/置換対象文字列\/置換後文字列\/
:s;置換対象文字列;置換後文字列;
  • 置換実行前の確認
    :%s/置換対象文字列/置換後文字列/c

  • カーソル行を対象

:s/置換対象文字列/置換後文字列/g
  • 指定行を対象
:1,10 s/置換対象文字列/置換後文字列/g
  • テキストファイル全体を対象
:%s/置換対象文字列/置換後文字列/g

参考

システムLinux, vi

Posted by UT