linux環境のコマンドラインの簡易エディタviエディタ。
最初は多少とっつきにくかったが直ぐに慣れる。そして、慣れれば便利に感じる。
以降、コマンドのメモ書き。
コマンドキーワードがうるおぼえの場合、:help キーワードが便利
:%d ファイル内を全てからにする。
yy:1行コピー
3yy:3行コピー
p:貼り付け
u:undo
Ctrl+r:redo
ggVG:すべて選択
○移動系
refs:vimの使い方 - 忘備録(チラシの裏
)
l カーソルを右に一文字移動
h カーソルを左に一文字移動
j カーソルを下に一文字移動
k カーソルを上に一文字移動
gg カーソルをファイルの先頭に移動
0 カーソルを行頭に移動
^ カーソルを行の先頭へ
:$ カーソルをファイルの終了行へ
$ カーソルを行末に移動
H カーソルを画面一番上の行に移動
M カーソルを画面中央の行に移動
L カーソルを画面一番下の行に移動
+ 次行の先頭へ移動
- 前行の先頭へ移動
% 対応する括弧へ移動
W 次の単語へ移動
w 次の単語へ移動
e 次の単語(末尾)へ移動
b 前の単語へ移動
B 前の単語へ移動
Ctrl+f 1画面分下に移動
Ctrl+b 1画面分上に移動
Ctrl+d 半画面分下に移動
Ctrl+u 半画面分上に移動
J 行末の改行を削除
?G:?行目にジャンプ
gg:先頭行にジャンプ
G:最終行にジャンプ
:??? : ???行目にジャンプ
: set number : 行番号を表示
%:カッコ"(",")"にカーソルがあたっている場合、対応するカッコにジャンプする。f(文字):文字までジャンプ。続けて";"で次の文字までジャンプする。(同一行限定?)
*:カーソルがあたっている単語を下方向に検索する。
#:カーソルがあたっている単語を上方向に検索する。
○行末から次の行の先頭、行頭から前の行の行末へ
初期設定だとh,lでこの移動ができなかった。「:set whichwrap=b,s,h,l,<,>,[,],~」を実行したらできるようになった。面倒なので、$HOME/.vimrcに書いておく。
n:次の検索
N:前の検索
デフォで大文字小文字を区別している。区別したくない場合、検索文字の後に¥cをつける。もしくは:set icを実行。元に戻すときは:set noic。icはignorecase
refs:linuxでviで大文字小文字を区別しないで・・・
○すべて削除
1G d G
%HOME/.viminfo:viの利用履歴が出力されるファイル。
vimtutorコマンドでvimのマニュアルが見れる。
コマンドモードにしてファイル名を開く。
:e ファイル名
置換。
:s/abc/ABC:abcをABCに一つ置換する。(対象行はカーソルがあたっている行のみ)
:s/abc/ABC/g:対象行のabcは全てABCに置換する。
:sa
v:ビジュアルモードになる。ビジュアルモードである範囲を選択してyでコピーでpで貼り付け。
Ctrl+V:矩形選択する。
Shift;V:行選択する。
(合わせ技:ggで先頭に移動し、Shift+Vで行選択し、Gで最終行まで移動すると全選択になる。)
○.vimrc
$HOME/.vimrcファイルを作成し、そこにvimの初期設定を設定できる。
refs:おすすめのvim設定
○レコーディング機能
csvファイルの項目の入れ替えとか
○タブ
:tabnew tabname:新規タブを開く
:gt : タブの移動
:[number]gt
:tabclose[number]:タブを閉じる
:tabonly:可憐とタブ以外を閉じる
○コマンド、シェル
vim実行中に:!コマンドで一時的にシェルを実行できる。例えば「:! pwd」。また、「:sh」でシェルを呼び出し、vimの編集に戻りたくなったらctrl + Zを押せばいい。これはvimをバックグラウンドの状態にしてシェルを一時的に呼び出している。
「:r!date」:dateコマンドの結果をファイルに書き込む
「:w !ls -l」:ls -lの結果をvim上で出力する
refs:vim外部コマンドの実行
○ヤンクとクリックボード
macの場合したのrefsを参考にやった
refs:[mac]vimでyankでクリップボードにコピーする
○その他
q: コマンド履歴を見る。で、実行したいコマンドにフォーカスをあててCtrl + Cでコマンド実行できる
q?:なんかよくわからん一覧
refs:履歴を表示、実行する