Ryo's Log

26才(現在31才)が一回人生を仕切り直して始めていくブログです。主に技術ログ。

【職業訓練51日目】重要viコマンドおさらい

51日目です。

 

本日は

・ファイル操作コマンド

・ファイルフィルタリングコマンド

を学びました。

 

ファイル操作は今度まとめたいと思うので

今日はviコマンドをまとめます。

 

重要なものだけまとめますので出てこないものもあります。

 

vi

 

ファイルを開く際のオプション

-R  読み取り専用で開く
-W 書き込み可能で開く

 

コマンドモード

 

設定

:set tabstop=10    タブ幅10に設定

:set ts = 10     タブ幅10に設定
:set number       行番号表示

:set nu        行番号表示
:set nonumber    行番号非表示

:set nonu            行番号非表示

 

カーソル操作

「0」 行頭へ

「^」 行頭へ
「$」 行末へ

「e」 行末へ

gg    ファイルの先頭
G     ファイルの最終行

L      画面の最下行へ行く
H      画面の最上行へ行く

nG    n(任意の数字)行目へ

:n      n(任意の数字)行目へ

ctrl+f  pagedown
ctrl+b   pageup

 

インサートモード

o  下に改行してインサートモード

O  上に改行してインサートモード

a  カーソルの後ろからインサートモード

A  行末からインサートモード

i    カーソルからインサートモード

I    行頭からインサートモード

 

ファイルの保存・終了

:wq! 保存して強制終了
:wq  保存して正常終了
ZZ   保存して正常終了

:x  保存して正常終了

:w  編集内容を保存

:e  viを終了せずに、別ファイルを開く

:save name  nameを付けて保存

 

文章の編集
ndd      n行を切り取る

ndw        n単語分切り取る

nyy      n行をコピー

nyw        n単語分コピー

x          カーソルの文字を切り取り
X               左の文字を切り取り

p       コピーした文字を後ろに貼り付け

P       コピーした文字を前に貼り付け

:r <filename>  filenameの文章を挿入する

 

検索・置換

/<name>     nameの文字列を先頭から検索する

?<name>    nameの文字列を後ろから検索する

n         検索を前から次へ進む
N        検索を後ろから前へ進む

:%s/aaa/bbb/g   aaaをbbbにすべて置換 

 

その他

u        undoコマンド

ctrl + r     undoコマンドの取り消し
:!ls        viを終了せずにlsコマンド