まずはNeovimをインストールして使えるようにします。 クライアントはOS(Windows, Mac, Linux)ごとに用意されているので、使用する端末に合わせてダウンロードしましょう。 目次 I…
連載
本記事は複数記事の連載記事の1つです。
キーマップを設定する
設定ファイルにキーマップを定義することで自由に設定できます。
Normal, Insert, Visualの3つのモードの他、組み合わせやコマンドライン、ターミナル時のマッピングをそれぞれセットできます。
マップモード (:h map-overview)
COMMANDS MODES ~
:map :noremap :unmap Normal, Visual, Select, Operator-pending
:nmap :nnoremap :nunmap Normal
:vmap :vnoremap :vunmap Visual and Select
:smap :snoremap :sunmap Select
:xmap :xnoremap :xunmap Visual
:omap :onoremap :ounmap Operator-pending
:map! :noremap! :unmap! Insert and Command-line
:imap :inoremap :iunmap Insert
:lmap :lnoremap :lunmap Insert, Command-line, Lang-Arg
:cmap :cnoremap :cunmap Command-line
:tmap :tnoremap :tunmap Terminal
マップテーブル (:h map-table)
Mode | Norm | Ins | Cmd | Vis | Sel | Opr | Term | Lang |
Command +------+-----+-----+-----+-----+-----+------+------+
[nore]map | yes | - | - | yes | yes | yes | - | - |
n[nore]map | yes | - | - | - | - | - | - | - |
[nore]map! | - | yes | yes | - | - | - | - | - |
i[nore]map | - | yes | - | - | - | - | - | - |
c[nore]map | - | - | yes | - | - | - | - | - |
v[nore]map | - | - | - | yes | yes | - | - | - |
x[nore]map | - | - | - | yes | - | - | - | - |
s[nore]map | - | - | - | - | yes | - | - | - |
o[nore]map | - | - | - | - | - | yes | - | - |
t[nore]map | - | - | - | - | - | - | yes | - |
l[nore]map | - | yes | yes | - | - | - | - | yes |
マッピング例
以下のようにモード、マッピングするキー、マッピングする操作を記載します。
noremapやsilent等のオプションは第4引数で指定します。
-- leave insert
api.nvim_set_keymap('i', 'jk', '<esc>', { noremap = true })
-- cursor move
api.nvim_set_keymap('n', '<S-j>', '5j', { noremap = true, silent = true })
api.nvim_set_keymap('n', '<S-k>', '5k', { noremap = true, silent = true })
api.nvim_set_keymap('v', '<S-j>', '5j', { noremap = true, silent = true })
api.nvim_set_keymap('v', '<S-k>', '5k', { noremap = true, silent = true })
-- save file
api.nvim_set_keymap('n', '<leader>w', '<cmd>update<cr>', { noremap = true })
leaderキーについて
leaderキーのデフォルトは \
ですが、スペースキー等の押しやすいキーへの割り当て変更をお勧めします。
-- スペースキーにleaderキーを割り当てる ※<space>ではなく半角スペースをそのまま入力する
vim.g.mapleader = ' '
修飾キーについて
Ctrlキーの組み合わせは、<C-*>と指定します。
Ctrl+aであれば、 <C-a>
です。
Shiftキーの組み合わせは、大文字で指定します。
Shift+aキーであれば、 A
です。
Altキーの組み合わせは、 <M-*>
と指定します。
コメントを書く