vim/nvim键盘映射
vim
?
在輸入模式下設(shè)置按鍵映射
imap w p "按鍵w 映射p,按下w等同于按下p imap k w "按鍵 k 映射成p在輸入模式下,當(dāng)按下k鍵時按理說相當(dāng)于按下w鍵, 所以應(yīng)該輸出w字母.
但由于 w又映射 了 p所以最終還是輸出了p. 這是遞歸映射.
即 imap w p影響到其它和 w相關(guān)的按鍵映射.
如果不想被某個映射所影響可以使用關(guān)鍵字nore, 如下:
inoremap w p "按鍵w 映射p,按下w等同于按下p imap k w "按鍵 k 映射成p這樣inoremap w p就不會被其它映射影響
?
?
映射延遲
?
下面是按下兩次 w映射成 p的按鍵序列設(shè)置
inoremap ww p當(dāng)按下第一個w時 vim 會等待你按下第二個w. 這個等待時間就是延遲, 如果超過這個時間, 按鍵序列映射將重置,把這次的輸入當(dāng)成正常輸入. 如果在沒有超時按下第二個w就是映射輸入.
當(dāng)然這個延遲時間是可以設(shè)置 的(默認時間是1000毫秒), 下面把延遲時間設(shè)為300毫秒:
inoremap ww p set timeoutlen=300不同模式下的映射
vim有不同的模式, 如,插入(輸入)、普通、命令模式等。
映射也有不同形式的map命令來對應(yīng)上述模式,可以針對特定的模式設(shè)置鍵盤映射:
映射命令和有效模式的總覽:
| map | noremap | 普通,可視模式及操作符等待模式 |
| vmap | vnoremap | 可視模式 |
| nmap | nnoremap | 普通模式 |
| omap | onoremap | 操作符等待模式 |
| map! | noremap! | 插入和命令模式 |
| imap | inoremap | 插入模式 |
| cmap | cnoremap | 命令模式 |
鍵盤名稱
?
幾個字母組成的鍵盤按鍵需要用尖括號 <>
例如,esc表示連續(xù)按下 或 輸出e、s、c、字母
? ? <esc>表示鍵盤的Esc鍵,
在vim中一些按鍵說明:對于功能組合鍵
<A> 表示Alt(Alt鍵可以使用<M-key>或<A-key>來表示, 例子, <A-e>表示Alt + e
<S-F1>表示 Shift-F1
<Space>表示空格
<BS>表示 Backspace鍵
<Esc>代表Escape鍵:
<CR>代表Enter鍵;
<C-j>代表Ctrl + j.
<D>代表Command鍵.
?
?
例子
inoremap <C-j> <esc>: " 按Ctrl + j 等于按下Esc和: inoremap <C-i> <CR> " Ctrl + j = 回車 inoremap <C-k> <BS> " Ctrl + k = 刪除或退格鍵nvim
init.vim 配置和vim一樣,照上面搞就可以.
init.lua 有幾種寫法,還有很多功能 自己去看
github nvim-lua-guide-zh
gitee nvim-lua-guide-zh
我只記住覺得常用的
下面映射 需要neovim 0.7.0+版本
-- 默認是非遞歸的 vim.keymap.set('i', ']', 'ooo') -- 想要遞歸 設(shè)置remap = true vim.keymap.set('i', 'f', ']', {remap = true})第一個參數(shù) ‘i’ 表示起效模式,第二參數(shù)按什么鍵或組合鍵,第三參數(shù),執(zhí)行什么 可是函數(shù),可以命令,或是輸入 字符.
第四個參數(shù)設(shè)置為遞歸映射, 不設(shè)置默認為非遞歸。
第一個參數(shù) 是 和上面的vim表對應(yīng)的
比如 'i'就是 inoremap, 'n'就是nnoremap
去 nvim-lua-guide-zh 看,里面有一張對應(yīng)表
vim/Gvim安裝插件
nvim配置lsp語法提示錯誤檢查和其他插件安裝
?
?
Shift和Ctrl鍵太靠下了不好按, 可以設(shè)置向上了點 https://blog.csdn.net/vfffb/article/details/125245499?spm=1001.2014.3001.5502
總結(jié)
以上是生活随笔為你收集整理的vim/nvim键盘映射的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenGL安装教程
- 下一篇: RapidXML问题