日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vim/nvim键盘映射

發(fā)布時(shí)間:2024/8/1 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vim/nvim键盘映射 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

vim

?

在輸入模式下設(shè)置按鍵映射

imap w p "按鍵w 映射p,按下w等同于按下p imap k w "按鍵 k 映射成p

在輸入模式下,當(dāng)按下k鍵時(shí)按理說相當(dāng)于按下w鍵, 所以應(yīng)該輸出w字母.
但由于 w又映射 了 p所以最終還是輸出了p. 這是遞歸映射.
即 imap w p影響到其它和 w相關(guān)的按鍵映射.

如果不想被某個(gè)映射所影響可以使用關(guān)鍵字nore, 如下:

inoremap w p "按鍵w 映射p,按下w等同于按下p imap k w "按鍵 k 映射成p

這樣inoremap w p就不會(huì)被其它映射影響

?
?

映射延遲

?

下面是按下兩次 w映射成 p的按鍵序列設(shè)置

inoremap ww p

當(dāng)按下第一個(gè)w時(shí) vim 會(huì)等待你按下第二個(gè)w. 這個(gè)等待時(shí)間就是延遲, 如果超過這個(gè)時(shí)間, 按鍵序列映射將重置,把這次的輸入當(dāng)成正常輸入. 如果在沒有超時(shí)按下第二個(gè)w就是映射輸入.

當(dāng)然這個(gè)延遲時(shí)間是可以設(shè)置 的(默認(rèn)時(shí)間是1000毫秒), 下面把延遲時(shí)間設(shè)為300毫秒:

inoremap ww p set timeoutlen=300

不同模式下的映射

vim有不同的模式, 如,插入(輸入)、普通、命令模式等。
映射也有不同形式的map命令來對(duì)應(yīng)上述模式,可以針對(duì)特定的模式設(shè)置鍵盤映射:

映射命令和有效模式的總覽:

有遞歸的映射無遞歸的映射在什么模式下有效
mapnoremap普通,可視模式及操作符等待模式
vmapvnoremap可視模式
nmapnnoremap普通模式
omaponoremap操作符等待模式
map!noremap!插入和命令模式
imapinoremap插入模式
cmapcnoremap命令模式

鍵盤名稱

?

幾個(gè)字母組成的鍵盤按鍵需要用尖括號(hào) <>
例如,esc表示連續(xù)按下 或 輸出e、s、c、字母
? ? <esc>表示鍵盤的Esc鍵,

在vim中一些按鍵說明:對(duì)于功能組合鍵

<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+版本

-- 默認(rèn)是非遞歸的 vim.keymap.set('i', ']', 'ooo') -- 想要遞歸 設(shè)置remap = true vim.keymap.set('i', 'f', ']', {remap = true})

第一個(gè)參數(shù) ‘i’ 表示起效模式,第二參數(shù)按什么鍵或組合鍵,第三參數(shù),執(zhí)行什么 可是函數(shù),可以命令,或是輸入 字符.
第四個(gè)參數(shù)設(shè)置為遞歸映射, 不設(shè)置默認(rèn)為非遞歸。

第一個(gè)參數(shù) 是 和上面的vim表對(duì)應(yīng)的

比如 'i'就是 inoremap, 'n'就是nnoremap
去 nvim-lua-guide-zh 看,里面有一張對(duì)應(yīng)表

vim/Gvim安裝插件
nvim配置lsp語法提示錯(cuò)誤檢查和其他插件安裝
?
?
Shift和Ctrl鍵太靠下了不好按, 可以設(shè)置向上了點(diǎn) https://blog.csdn.net/vfffb/article/details/125245499?spm=1001.2014.3001.5502

總結(jié)

以上是生活随笔為你收集整理的vim/nvim键盘映射的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。