vimtutorやってみる
vimの操作体系覚えておくと便利そうなので
1.1章
移動
h:←
j:↓
k:↑
l:→
IMEでzhから←とか変換できるのはこれ由来なのかな
保存せずに終了
:q!
ノーマルモードでテキスト削除
xでカーソルの位置で削除される
テキストの挿入
iでカーソルの位置で入力モードになる?
テキストの追加
aでカーソルの位置の次の位置で入力モードになる?
Aで行末で入力モードになる?
1.2章
dwで単語の末尾まで削除できる
d$で行の末尾まで削除できる
コマンド
コマンドはオペレータとモーションからなる
dがオペレータ
wや$がモーション
wはカーソル位置から単語の末尾まで(空白の後まで)
|The cake is a lie.→The |cake is a lie.→ The cake |is a lie.
The ca|ke is a lie.→The cake |is a lie.
eはカーソル位置から単語の末尾まで(空白の手前まで)
|The cake is a lie.→The| cake is a lie.
$はカーソル位置から行末まで
|The cake is a lie.→The cake is a lie.|
モーションはそれ単体でカーソルの移動にも使える
コマンド固有のものでは無い
繰り返し
2wのようにすることで、繰り返しモーションを行える
3eは三回eを打ったのと同じになる
d2wのようにコマンドとも組み合わせられる
行の先頭に移動
0は行頭に移動?
行の削除
ddコマンドで行全体を削除できる
Undo
uで最後の変更をUndo
Uで行に対して行った変更をUndo
CTRL-RでRedo
1.3章
貼り付け
pコマンドで最後に削除された行をカーソルの後に貼り付ける
置き換え
rコマンドでカーソルの位置の文字を置き換える
1文字だけっぽいか
変更オペレータ
cで置き換え
ceで、その単語を置き換えできる
カーソルの位置から、その単語の最後までが置き換え対象になる
入力モードになる
ccコマンドで、その行全体を置き換えできる
1.4章
ファイル内の移動
Gでファイルの末尾まで移動
ggでファイルの先頭まで移動
495Gとかでその行数まで移動
検索
ノーマルモードで/
画面下に/が出ている状態で検索したいテキストをタイプしENTER
nで次
Nで前
/の代わりに?で逆順に検索
CTRL-Oで元の箇所に戻る
これは別に検索に限らないのかな?
対応する括弧に移動
%で対応する括弧に移動
閉じる方で使ったら、開ける方まで移動するみたい
置換
:/thee/the<ENTER>でその行の最初に見つかったものを置換
:/thee/the/g<ENTER>でその行の全てを置換
:%s/old/new/gでファイル全体で置換
:%s/old/new/gcでファイル全体で確認しながら置換
1.5章
シェルコマンドの実行
:!lsとかで外部のコマンドを実行できる
Enterで戻ってこれる
vim風の操作体系を使うだけならまあ使わんか?
ファイルへの書き込み
:w ファイル名でファイルとして保存
ファイルへの書き込み(一部)
vでビジュアルモードに入る?
カーソル移動で範囲選択ができる
範囲選択した状態で:wすると選択したところだけ保存される
別ファイルからの挿入
:r ファイル名でファイルから挿入
:rでの挿入はファイルに限らず、標準出力でも行けるらしい
:r !lsとか
1.6章
オープンコマンド
oで次の行で入力モードに入る
Oで前の行で入力モードに入る
追加コマンド
aでカーソルの後で入力モードに入る
iはカーソルの前から
Aは行末から
置換
Rで置換モードに入る?
テキストが挿入されるのではなく、上書きされるような
コピペ
ビジュアルモードで範囲選択し、yでyank(コピー)
pでput(ペースト)
yはオペレータとしても使える
ywは単語一つをyank
yyは行一つyank
検索オプション
:set オプションでオプションが設定される
:set noオプションでオプションが無効にされる
:set icで検索置換の時に大文字小文字の違いを無視
ignorecase
:set hlsで検索対象をハイライトを有効に
hlsearchの略か
:nohで一次的に無効になる
:set isでインクリメンタルサーチ
incsearch
コマンド補完
:eまで打った状態で、CTRL-Dで補完候補の一覧を表示
<TAB>で補完