プログラミング勉強 Vim
#1
vim : vimを立ち上げる
:q :vim 終了
vimtutor : vimの使い方が表示される
#2
通常ノーマルモード
入力モード (i) insert
コマンドモード (:)
visualモード (v)選択範囲に対して何かを行う
Escキーでノーマルモードに戻る
#3
:w :変更を保存
:w ファイル名 :ファイル名をつけて保存
:q! :変更点を無視して強制的に終了
:e ファイル名 :ほかのファイルを開く
#4
移動系のコマンド(ノーマルモード)
gg :先頭にカーソルが戻る。
Shift+g(大文字G):カーソルが最後に行く。
Ctrl+f: 1画面下(画面単位で進む)
Ctrl+b: 1画面上(画面単位で戻る)
w:単語単位で動く(単語の最後に行く)
b:単語単位で動く(単語の先頭に戻る)
#5
^ :(キャレット)行頭に行く
$ :行末に行く
f+行きたいところのキャラクタ(文字) 同時押し :そこまでとんでいく
例)打ち込んだ文字がapple のとき、lのところにいきたければ、f+eでいける。
同じ文字が複数ある時はセミコロン;で次の文字に行く
%:対応する「(」や「{」に移動する(その括弧の上でおす )
#6
選択系(ビジュアルモード)v
通常は文字単位の選択
V(Shift+v):行単位の選択
Ctrl+v :矩形選択(矩形とは四角形のこと)
gg V G :全選択 (これは単なる組み合わせ)
h:左
j:下
k:上
l:右
#7
カット=削除
ノーマルモードに入る
x :一文字単位で消す。
dd :行単位で消す。 コマンドの意味 delete Windowsでの呼称 cut
数字dd : 数字行消す 3dd → 3行消す
p : カットしたものを貼り付ける。 コマンドの意味 put Windowsでの呼称 paste
yy : 1行コピー コマンドの意味 yank(ひっぱる) Windowsでの呼称 copy
数字yy : 数字行コピーする 3dd → 3行コピーする
copy yank
paste put
cut delete
参考
https://www.hpc.co.jp/support/hello_vi_03/
#8
ノーマルモード
/ 文字 :その文字部分がどこか、検索する(とぶ)
複数ある場合
n :下方向に検索
N :上方向に検索
* : 今カーソルがある位置の単語を下方向に検索
# : 今カーソルがある位置の単語を上方向に検索
注)完全一致の単語のみ検索する
#9
置換
ノーマルモード
:s/A/B : AをBに変える substitute
例):s/state/State
複数ある場合
:s/A/B/g : カーソルがある行にあるAをすべてBに変える
例):s/i/I/g カーソルがある行にあるiが全部Iになる
:%s/A/B/g : ファイル全体のAをBにする
%は範囲を全体にしなさいという意味を持つ
:%s/A/B/gc : ファイル全体のAをBにするのを一つ一つ確認する confirm
#10
u : undo(直前の操作を取り消す)
Ctrl+r : redo(undoを取り消す=取り消した操作を元に戻す)
#11
:sp :ウィンドウを上下に分割
Ctrl+wのあとw :ウィンドウ間を移動
:e ファイル名 :ファイルを開く
:vs :ウィンドウを左右に分割
:close :カーソルを置いた部分で開いているファイルを閉じる、分割したウィンドウを戻す
#12
:tabnew :新しいタブを作る
:tabe ファイル名 :新しいタブでファイルを開く
ノーマルモードに戻り、gt : タブ間を移動する
:tabclose :タブを閉じる
vim -p ファイルA ファイルB : vim起動時からtabで開く
:tabdo %s/A/B/g : 全てのタブでAをBに変える
#13
ノーマルモード
.(ピリオド) : 直前の操作を繰り返す
#14
= :インデント。字下げ。行の開始位置をずらす。
gg V G = : 全体を揃える。
#15
Ctrl+n : 変数や関数名を簡単にもう一度使える(検索して使用)
例)se Ctrl+n とすると seから始まる変数名、関数名が選択肢として表示される
#16
複数行の先頭などにまとめて何か文字を足す
1. ノーマルモードに入る
2. Ctrl+v 矩形選択
3. 挿入モードにI(Shift+i)で入る
4. 入れたい文字を入力
5. ESCで戻る
#17
テキストオブジェクトを扱う
1.ノーマルモード
2.cit(テキストが消える)
3.挿入モードに入れる
c/d/y :change (delete & insert)
i/a :中身か全体か(inner or all)
t/"/)] : tag等
i : カーソルの前で挿入モード
a : カーソルの後ろで挿入モード
o : 改行して挿入モード
I : 先頭に移動して挿入モード
A : 末尾に移動して挿入モード
O : 前に改行して挿入モード
コピー | ctrl+insert |
ペースト | shift+insert |
カット | shift+delete |