カーソル移動
カーソルのある行を画面中央にもってくる
zz
カーソルのある行を画面の上端にもってくる
zt
カーソルを単語の末尾に移動する
e
from: http://php-web.net/vim/move.html
カーソルを任意の文字まで移動
右移動
f 文字
左移動
F 文字
from: http://www.webhtm.net/vim/move_char.htm
ジャンプする直前の行に戻る
ジャンプする直前の行に戻る
ctrl + o
進む
ctrl + i
対応する括弧までジャンプ
括弧の上で %
コピー
カーソル上の単語をヤンク(コピー)する
yiw
シングルクォートで囲まれた文字列をヤンク(コピー)する
yi'
シングルクォートで囲まれた文字列をシングルクォートも含めてヤンク(コピー)する
ya'
コピーしてクリップボードに貼り付ける
visualモードで範囲選択して、"*y
削除
シングルクォートで囲まれた文字列を削除する
di'
ウィンドウ操作
ウィンドウを左右に2分割する
:vsplit
現在のウィンドウで別のファイルを開く
:e ファイルのパス
現在のウィンドウを隣のウィンドウと入れ替える
:wincmd x
タブ操作
タブを右に移動する
:+tabm
タブを左に移動する
:-tabm
置換
マッチした文字列を後方参照する
その他
ハイフンでつながっている語も単語として選択するようにする
:setlocal iskeyword+=-
UPCASE/donwcase を切り替える
チルダ
~
操作の記録
qa
で記録開始, q
で記録終了, @a
で記録内容の再現.
https://qiita.com/taketin/items/aa6cc363f84f6090f1c0 より
マウスを無効にする
:set mouse=
VIMRUNTIMEの確認
:echo $VIMRUNTIME
systemd.service 形式のファイルのシンタックスハイライトを有効にする
$VIMRUNTIME/syntax/systemd.vim
が存在してる前提。
~/.vim/ftdetect/
以下に設定ファイルを追加すると、特定の拡張子に対してどのファイルタイプとして扱うかを設定できる。
シェルから設定ファイルを追加する方法
$ cat > ~/.vim/ftdetect/systemd.vim <<'EOF'
au BufRead,BufNewFile *.service set filetype=systemd
EOF
プラグインを手動でインストールしたい
パッケージマネージャとか触りたくない場合は、vim本体にあるパッケージ機能を使ってプラグインを入れたらよいらしい。
https://tyru.hatenablog.com/entry/2017/12/20/035142
mkdir -p ~/.vim/pack/vendor/start
cd ~/.vim/pack/vendor/start
git clone <任意のプラグインのレポジトリ>
Markdownのプレビューしたい
shibaを使っていたが、開発が止まっているし自力でメンテするのも難しそうだったので、previmを使うことにした。
次のコマンドを実行する。
mkdir -p ~/.vim/pack/vendor/start
cd ~/.vim/pack/vendor/start
git clone git@github.com:previm/previm.git
~/.vimrc
に以下の行を追加する。
let g:previm_open_cmd = 'open -a Firefox'
現在編集中のファイルのファイルタイプを確認する
:set filetype?
netrwで新規ファイル
%
現在の行を消して行頭から入力する
S
NERDTreeで新規ファイル
m
のあとに(a)dd a childnode
でEnter