vimの特徴といえば「どのLinuxにも入っている」ことですが、そうは言っても素のvimをいきなり使うと辛い部分が多々あるので、最低限の設定だけは持っていきましょう。
持っていく方法自体は sshした先に.bashrcや.vimrcを持って行きたい人のためのsshrc の記事に譲ります。
これを持っていけ!
" 日本語エンコード対応
set encoding=utf-8
set fileencoding=utf-8
set fileencodings=utf-8,cp932,euc-jp
" 環境を汚さない設定
set nobackup
set noswapfile
" 古い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のやり方
set number
" 相対行番号は重くもなるのでなおさら
set relativenumber
無人島での戦い方
プラグインがないときにこそ光る機能のご紹介。
-
<C-o>
<C-i>
: カーソルを戻る/進む。ファイル履歴をまたいで移動できるので、vimを開き直した後でも<C-o>
連打でさっき開いたファイルに戻ったりできます。 -
^
$
: 行頭/行末に飛ぶ。素早く移動するなら必須でしょう。 -
%
: 対応する括弧に飛ぶ。関数の始めから最後まで飛ぶなど応用が効く。 -
cgn
: 検索ワードを置き換える (c
が置換で、gn
が検索ワードという意味の対象)。n
で次のワードに飛びながら実行したり、n
なしで.
で繰り返すだけでも次々と置き換えていけるのでかなり捗ります。
以上、入門記事にはあまり取り上げられない機能のご紹介でした。
おことわり
VSCodeでリモート編集すればいいじゃんってのは言わない約束です