Warming Up
まずはウォーミングアップです😉 少しずついきます。
keymap
まずは12. Key Binding
で触れたkeymap
から呼び出してみましょう。
set({mode}, {lhs}, {rhs}, {opts}) vim.keymap.set()
Parameters:
• {rhs} string|function Right-hand side |{rhs}| of the mapping. Can
also be a Lua function.
マッピングの右辺|{rhs}|。Luaの関数でも可。
ちょっと動かしてみたいだけ (あとで削除する前提) なのでどこでもいいんですが、まあkeybinds.lua
で進めます。
ヘルプの中にあったコードそのままですが、入れてみてください。
source
いきなり少し寄り道します。
ここで初めて登場するんですが、:source
というコマンドがありまして...🤔
:so :source load-vim-script
:[range]so[urce] [file] Runs |Ex| commands or Lua code (".lua" files) from
|Ex|コマンドまたは Lua コード (".lua" ファイル) を [file] から実行する。
[file], or current buffer if no [file].
[ファイル] を実行する。[ファイル] がない場合は、現在のバッファを実行する。
例えば、これまだ上のコードを入れてない状態なんですけど、一回:map
を見てみます。
で、コード追加してセーブするじゃないですか。
で、
そしたらもう一回:map
を見てみます。
あ、lhs
いる😮
ヘルプが言っているところの「現在のバッファを実行する」がちゃんと動いてますね。
keybinds.lua
のバッファで:so
を実行しているのでkeybinds.lua
が実行されてます😉
気をつけないといけないのは、これが "リフレッシュ" とか "再起動" ではなくて、あくまでも実行
であることです。
あんまり自信が無いんですけど、keymap
の変更についてはちゃんと反映されてるようです。
..."については"と言っているのは、ちょっと気にしておきたいことがあって...。
意味なく引っ張るようなんですが、14.4 Call The Plugin
で改めて触れたいと思ってます😌
実行
本題に戻って、ノーマルモードでlhsと入力してみましょう。
...動きましたね❗
動くことが確認できたら、このコードはすぐ消しときましょう😅
じゃないと、ノーマルモードのカーソル移動 (l) が挙動不審になっちゃうので❗
(ぶっちゃけサンプルが不親切だと思う...🤫)
Leader キーを使った Keymap
前項みたいなことがあるので、13.Leader Key
で設定したLeader
キーを積極的に使っていきましょう😆
vim.keymap.set('n', '<Leader>l', function() print('Leader key worked too.') end)
これなら安心ですね❗