vimの特徴といえば「どのLinuxにも入っている」ことですが、そうは言っても素のvimをいきなり使うと辛い部分が多々あるので、最低限の設定だけは持っていきましょう。
持っていく方法自体は sshした先に.bashrcや.vimrcを持って行きたい人のためのsshrcの記事に譲ります。
これを持っていけ!
" 日本語エンコード対応set encoding=utf-8set fileencoding=utf-8set fileencodings=utf-8,cp932,euc-jp
" 環境を汚さない設定set nobackup
setnoswapfile" 古いvimでも出来る見た目の改善" 入力途中のコマンドを表示set showcmd
" 括弧をハイライトset showmatch
" デフォルトのハイライト時間が長すぎるので短くするset matchtime=1" インデントを維持するなど挙動を改善するset smartindent
" バックスペースの挙動を普通にするset backspace=eol,indent,start" 画面に余裕をもたせてスクロールするset scrolloff=5" 素早くウィンドウ移動(まさかカーソルキーを使ってる人はいませんよね?)
nnoremap <Left><C-w>h
nnoremap <Down><C-w>j
nnoremap <Up><C-w>k
nnoremap <Right><C-w>l" Backspace キーを使う" なおかつレジスタを汚さない
noremap <BS> "_xh
逆にこれはなくてもいいなと思う設定もあります。
" カーソル位置ハイライトは重くなりがちset cursorline
set cursorcolumn
" 行番号は出さないのが出来るvimmerのやり方setnumber" 相対行番号は重くもなるのでなおさらset relativenumber
無人島での戦い方
プラグインがないときにこそ光る機能のご紹介。
<C-o>
<C-i>
: カーソルを戻る/進む。ファイル履歴をまたいで移動できるので、vimを開き直した後でも<C-o>
連打でさっき開いたファイルに戻ったりできます。^
$
: 行頭/行末に飛ぶ。素早く移動するなら必須でしょう。%
: 対応する括弧に飛ぶ。関数の始めから最後まで飛ぶなど応用が効く。cgn
: 検索ワードを置き換える (c
が置換で、gn
が検索ワードという意味の対象)。n
で次のワードに飛びながら実行したり、n
なしで.
で繰り返すだけでも次々と置き換えていけるのでかなり捗ります。
以上、入門記事にはあまり取り上げられない機能のご紹介でした。
おことわり
VSCodeでリモート編集すればいいじゃんってのは言わない約束です