Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

vim 簡単ガイド

$
0
0

忘備録として vim の簡単ガイドをまとめました。

キーボードマクロ

操作意味
q[key][key]で記録開始
q記録中に押すことで記録終了
@[key]記録したマクロを実行
(ex)
qa -> 操作 -> q -> @a
qc -> 操作 -> q -> @C

マーク

操作意味
:marksmark一覧を表示する
m[a-zA-Z]カーソル位置をmarkする
``直前のマークへ移動
C-o古いマークへ移動
C-i新しいマークへ移動
`[a-zA-Z]指定のマークに移動
'[a-zA-Z]指定のマークの行頭に移動
:delmarks[a-zA-Z] マークの削除
:delmarks!マークの一括削除

検索

操作意味
/続けて文字を打ち, Enterで文字列を確定し, 後方検索をかける
?続けて文字を打ち, Enterで文字列を確定し, 前方検索をかける
*カーソル下の単語を, 後方検索する
#カーソル下の単語を, 前方検索する
g*カーソル下の単語を含む文字列を, 後方検索する
g#カーソル下の単語を含む文字列を, 前方検索する
n次の単語に移る
N前の単語に移る

UNDO / REDO

操作意味
uundo(アンドゥ)一動作分、前の状態に戻す。
Ctrl + rredo(リドゥ)。アンドゥで戻した操作を、元に戻す。

バッファ操作

操作意味
:ls, :buffers, :files開いているバッファ一覧(バッファリスト)を表示する
:bfirst, :bf先頭のバッファに移動する
:blast, :bl最後のバッファに移動する
:bnext, :bn次のバッファに移動する
:bprev, :bp前のバッファに移動する
:b NUMNUM番目のバッファに移動する
:baddバッファにファイルをロードする (badd filename)
(別ファイルを新バッファに読み込み)
:bun[load]バッファメモリ開放 (バッファリストには残る)
:bd[elete]バッファをアンロードする
(現在のバッファを削除) :ls! では表示される
:bw[ipeout]バッファを完全に削除 :ls! でも表示されない
:enew :new :vnew新規バッファを開く
:new filename新規バッファでファイルを開く

モード移行

操作意味
ESCコマンドモードへ移行
iカーソルの左隣へ挿入
aカーソルの右隣へ挿入
Iカーソル行の先頭に挿入
Aカーソル行の末尾に挿入
Oカーソル行の上に1行空けて挿入
oカーソル行の下に1行空けて挿入

カーソル操作

操作意味
h, j, k, l左, 下, 上, 右
gj, gk下, 上に1行移動
(エディタで表示されている行上で移動)
(つまり, エディタの横幅の制約によって行が折り返されている場合でも, 移動可能)
w1単語分進む
W1単語分進む(記号では区切られないので, 次のスペースや, 改行文字まで飛ぶ)
b1単語分戻る
B1単語分戻る(記号では区切られないので, 前のスペースや, 改行文字まで飛ぶ)
f[文字]次の[文字]まで飛ぶ
F[文字]前の[文字]まで飛ぶ
t[文字]次の[文字]の手前まで飛ぶ
T[文字]前の[文字]の次まで飛ぶ
;f, F, t, Tで検索した文字を同方向に繰り返し検索する
,f, F, t, Tで検索した文字を逆方向に繰り返し検索する
g;直前に変更した位置にカーソルを移動(繰り返し入力することで, 変更リストを遡る)
g,g#を使用して遡った変更リストを逆順に進め, カーソルを移動する.
ggファイルの先頭に移動
Gファイルの最後に移動
[数値]gg, [数値]G, :[数値][数値]行に移動
H, M, L画面に表示されている行について,
最初の行(H), 真ん中の行(M), 最後の行(L)に移動
0行の先頭に移動
^行のテキスト部分の先頭に移動
$行の最後に移動
%対応する括弧に移動
(文単位での移動. 前の文の先頭に移動
)文単位での移動. 後ろの文の先頭に移動
{段落単位での移動. 前の段落の先頭に移動
}段落単位での移動. 後ろの段落の先頭に移動
Ctrl-u半画面分戻る
Ctrl-d半画面分進む
Ctrl-b1画面分戻る
Ctrl-f1画面分進む
Ctrl-oジャンプリストを遡ってカーソルを移動する
(検索や行数指定移動などがジャンプリストに保存されている)
Ctrl-iジャンプリストを進めてカーソルを移動する
(検索や行数指定移動などがジャンプリストに保存されている)
-1行上の左端へ
RETURN1行下の左端へ
e単語の末尾へ
(カーソル位置が単語の途中の場合はその単語の末尾)
(カーソルが単語末尾なら次の単語の末尾)
(カーソルが行末なら次行先頭の単語の末尾)
nGファイルの先頭からn行目の左端へ

削除, コピー

操作意味
xカーソル上の文字を消す
Xカーソル左一文字削除
sカーソル上の文字を消して, インサートモードに入る
ddカーソルがある行を消す
dwカーソル位置から1単語分削除する
diwカーソル位置にある単語を1つ削除する
dt(カーソル位置から, 次に最初に出現する(までを削除する
df<文字>カーソル位置から<文字>の位置まで削除
d^カーソル位置から左削除
d$カーソル位置から右削除
ccカーソルがある行を消して, インサートモードに入る
cwカーソル位置から1単語分削除して, インサートモードに入る
ciwカーソル位置にある単語を1つ削除して, インサートモードに入る
ct(カーソル位置から, 次に最初に出現する(までを削除して, インサートモードに入る
Dカーソル位置から行末まで削除
Cカーソル位置から行末まで削除して, インサートモードに入る
yyカーソルがある行をコピー
yビジュアルモードで選択されている部分をコピー
ywカーソル位置の単語をコピー
Pカーソル行の上の行にペースト
(xやddで削除したものもペーストできる)
pカーソル行の下の行にペースト
(xやddで削除したものもペーストできる)
Ctrl-r 0(ゼロ)(インサートモード中に)
レジスタ0に保存されている文字列を貼り付ける
通常, yを使用してコピーした文字列は, レジスタ0に保存される

置換

操作意味
r[文字]カーソル上の文字を[文字]に置換
Rカーソル位置から複数文字置換
sカーソル上一文字を複数文字に置換
rカーソル行全体を置換
ccカーソル行全体を置換
cwカーソル位置から現単語置換
cf<文字>カーソル位置から<文字>の位置まで置換
:%s/before/after/gファイル上の全ての"before"を"after"に置換
:s/before/after/gカーソルの行の全ての"before"を"after"に置換
:10,20s/before/after/g10~20行目の全ての"before"を"after"に置換
:'<,'>s/before/after/gビジュアルモードで選択中の範囲の全ての"before"を"after"に置換
" '<,'> "の部分は, 範囲を選択中に":"を押すと自動的に出ます

編集, 保存, 終了

操作意味
:e<ファイル名> <ファイル名>を読込む
:r<ファイル名> カーソル行の下に<ファイル名>の内容を挿入
:w上書保存
:w <ファイル名>編集中のデータを<ファイル名>のファイルに保存
:q終了
:wq保存して終了
:q!保存せず終了
ZZ保存して終了
ZQ保存せずに終了

ウィンドウ操作

操作意味
:sp [file]ウィンドウを横に分割し, fileを開く(file名はなくても良い)
:vs [file]ウィンドウを縦に分割し, fileを開く(file名はなくても良い)
Ctrl-w sウィンドウを横に分割する
Ctrl-w vウィンドウを縦に分割する
:onlyカーソルのあるウィンドウ以外閉じる
Ctrl-w oカーソルのあるウィンドウ以外閉じる
Ctrl-w w次のウィンドウに移動
Ctrl-w p前のウィンドウに移動
Ctrl-w h, j, k, l左, 下, 上, 右のウィンドウに移動する
Ctrl-w H, J, K, Lカーソルがあるウィンドウを左, 下, 上, 右方向に移動する
Ctrl-w _縦に最大化
Ctrl-w
Ctrl-w =大きさを揃える
Ctrl-w >幅を増やす
Ctrl-w <幅を減らす
Ctrl-w +高さを増やす
Ctrl-w -高さを減らす

画面操作

操作意味
Ctrl-f1ページ分下に画面を移動
Ctrl-b1ページ分上に画面を移動
Ctrl-d半ページ分下に画面を移動
Ctrl-u半ページ分上に画面を移動
Ctrl-l画面を再描画
Ctrl-g行番号を表示

モード変更

操作意味
ESCノーマルモードに戻る
Ctrl-[ノーマルモードに戻る
iカーソル位置からインサートモードに入る
aカーソルの直後からインサートモードに入る
I行頭からインサートモードに入る
A行末からインサートモードに入る
Ctrl-o(インサートモード中に)インサートノーマルモードに入る
(インサートモード中に1コマンドのみノーマルモードのコマンドを使用できる)
vビジュアルモードに入る
V行単位の選択をするビジュアルモードに入る
Ctrl-v矩形選択をするビジュアルモードに入る
gv前回選択した範囲が再選択された状態でビジュアルモードに入る
:コマンドラインモードに入る(続けてコマンドを打ち, Enterで実行)

起動

操作意味
% viフォアグラウンド起動
% vi <ファイル名><ファイル名>のファイルを読み込んで起動

その他

操作意味
Ctrl-aカーソル行上で, カーソル以降の最初に出現した数字をインクリメント
Ctrl-xカーソル行上で, カーソル以降の最初に出現した数字をデクリメント
=カーソルがある行をインデント. ビジュアルモードで範囲を選択していれば, その範囲をインデント
>>インデントを追加
<<インデントを削除
.直前のコマンド繰返し
u直前に実行したコマンドの取り消し
Uカーソル行に対して行った変更を全部取消す
:!cmdシェルコマンドの実行
:r!cmdコマンドを実行し,その結果を挿入
:shellシェルを呼び出す。exitなどでシェルを抜ければviに戻る
:set number行番号を表示 (set nu)
:set nonumber行番号表示を止める (set nonu)
:hヘルプ表示
:viusage [<コマンド>]viコマンドモードのコマンド一覧表示。
<コマンド>を付加するとそのコマンドの説明を表示。
:exusage [<コマンド>]exコマンドモードのコマンド一覧表示。
<コマンド>を付加するとそのコマンドの説明を表示。
:set readonlyリードオンリーモードにする (set ro)
:set noreadonlyリードオンリーモードを解除する (set noro)

TIPS

多くのコマンドは, 直前に数字などを組み合わせて使うことができます
例えば, 3ddとすれば3行削除できます. 10iでインサートモードに入って,
文字を入力した後にノーマルモードにもどれは, 入力した文字が10個分入力されます

<コマンドラインにペースト>
:を押してコマンドラインに入った状態でCtrl-Rを押してから"を押すと
コマンドラインにペースト


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>