国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

neovim 鍵位映射

這篇具有很好參考價(jià)值的文章主要介紹了neovim 鍵位映射。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

neovim 鍵位映射

neovim的鍵位映射是指將鍵盤上的一組按鍵綁定到vim 插件的某一個(gè)功能。

7 種模式

官方文檔原文:

There are seven sets of mappings

For Normal mode: When typing commands.

For Visual mode: When typing commands while the Visual area is highlighted.

For Select mode: like Visual mode but typing text replaces the selection.

For Operator-pending mode: When an operator is pending (after “d”, “y”, “c”, etc.). See below: omap-info.

For Insert mode. These are also used in Replace mode.

For Command-line mode: When entering a “:” or “/” command.

For Terminal mode: When typing in a :terminal buffer.

  1. 正常模式,也是打開文件后的默認(rèn)模式。在此模式下,可以執(zhí)行vim的基本操作。其他的任意模式均可以通過esc鍵回退到正常模式。
  2. 可視模式,在正常模式執(zhí)行v命令選中對應(yīng)的文本,進(jìn)入此模式。
  3. 選擇模式,和可視模式類似,也是通過v命令先選中文本,然后可以對選中的文本進(jìn)行替換。
  4. 追加操作符模式,在正常模式執(zhí)行完"d", “y”, "c"等操作后可以追加一個(gè)操作符。
  5. 插入模式,在正常模式執(zhí)行 “a”, “i”, "o"等命令后對文本進(jìn)行操作。
  6. 命令行模式,在正常模式執(zhí)行 “:”, “/” 命令后進(jìn)入此模式。
  7. 終端模式,正常模式執(zhí)行":terminal"命令后進(jìn)入此模式,此模式模擬進(jìn)入shell 的操作。通過再進(jìn)入插入模式,即可執(zhí)行shell 操作。

11種映射命令

這11種映射命令可以在7種模式中進(jìn)行鍵位映射。

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

6種映射參數(shù)

6種映射參數(shù)如下。

  • <buffer>

    此映射命令在當(dāng)前buffer中立即生效。

  • <nowait>

    當(dāng)匹配到輸入的字符時(shí)立即執(zhí)行,不再等待可能出現(xiàn)的后續(xù)字符。

  • <silent>

    讓映射命令靜默執(zhí)行,不在命令行打印回顯。

  • <script>

    防止一個(gè)功能被多次綁定。

  • <unique>

    防止一個(gè)鍵位組合被多次綁定。

  • <expr>

    可以在{rhs}中使用表達(dá)式(函數(shù))。

2種鍵位映射方案

通過API設(shè)置映射鍵

API定義如下

nvim_set_keymap({mode}, {lhs}, {rhs}, {*opts})
Parameters:
    - {mode} 模式簡寫
    	"n", "i", "v", "x" for nmap, imap, vmap, xmap
    	"!", "" for :map!, :map
    	"ia", "ca" or "!a" for abbreviation in Insert mode, Cmdline mode, or both
    - {lhs} 要綁定的鍵位組合
    - {rhs} 要綁定的目標(biāo)功能
    - {*opts} 支持除了buffer之外的映射參數(shù),此外,還支持 "noremap","desc","callback","replace_keycodes" 等參數(shù)

此API的調(diào)用方式為,vim.api.nvim_set_keymap()

例子文章來源地址http://www.zghlxwxcb.cn/news/detail-516366.html

vim.api.nvim_set_keymap(
    "n",
    "<F6>",
    [[<cmd>lua require('cscope_maps').cscope_prompt('s', vim.fn.expand("to find a string"))<cr>]],
    { noremap = true, silent = true }
),

在正常模式將功能鍵 F6 綁定到 cscope_maps 這個(gè)lua 模塊的某項(xiàng)功能上。

通過命令設(shè)置映射鍵

{command} {argument} {lhs} {rhs}
	- {command} 11種映射命令
	- {argument} 6種映射參數(shù)
	- {lhs} 要綁定的鍵位組合
	- {rhs} 要綁定的目標(biāo)功能

特殊鍵位

標(biāo)記法 描述
<Nul> 0
<BS> 退格鍵
<Tab> tab鍵
<NL> 換行
<CR> <Return> <Enter> 回車
<Esc> esc 鍵
<Space> 空格鍵
<lt> 小于號
<Bslash> \
<Bar> |
<Del> delete 鍵
<CSI> 主要用于檢測terminal類型
<EOL> 根據(jù)系統(tǒng)不同可以是<CR>, <NL> 或者 <CR> <NL>
<Ignore> 取消字符等待功能
<NOP> no-op: 什么都不做
<Up> <Down> <Left> <Right> 光標(biāo)上下左右移動鍵
<S-Up> <S-Down> <S-Left> <S-Right> shift鍵 + 光標(biāo)上下左右移動鍵
<C-Left> <C-Right> ctrl鍵 + 光標(biāo)左右移動鍵
<F1> - <F12> 功能鍵 F1 到 F12
<S-F1> - <S-F12> shift鍵 + 功能鍵 F1 到 F12
<Help> <Undo> <Insert> 幫助、重做、插入鍵
<Home> <End> home、end 鍵
<PageUp> <PageDown> 翻頁鍵
<kUp> <kDown> <kLeft> <kRight> 小鍵盤對應(yīng)鍵位
<kHome> <kEnd> <kOrigin> 小鍵盤對應(yīng)鍵位
<kPageUp> <kPageDown> <kDel> 小鍵盤對應(yīng)鍵位
<kPlus> <kMinus> <kMultiply> <kDivide> 小鍵盤對應(yīng)鍵位
<kPoint> <kComma> <kEqual> <kEnter> 小鍵盤對應(yīng)鍵位
<k0> - <k9> 小鍵盤對應(yīng)鍵位
<S-…> shift鍵 + 任意鍵
<C-…> ctrl鍵 + 任意鍵
<M-…> <A-…> alt鍵 + 任意鍵
<D-…> command鍵 + 任意鍵

到了這里,關(guān)于neovim 鍵位映射的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 用C/C++(Win32API)寫軟件修改鍵位

    緊接上篇《Windows用注冊表修改鍵盤映射(掃描碼)》, 用起來會發(fā)現(xiàn)處處不協(xié)調(diào),除了需要熟悉新鍵位以外,最重要的是原本的 快捷鍵 也被拆散了,如原本都在左下角的 Ctrl+Z/X/C/V 。 所以我們應(yīng)該在保證快捷鍵相對位置不變的情況下,修改其他字母的位置,在本專欄中使用

    2024年02月01日
    瀏覽(20)
  • NeoVim 學(xué)習(xí)筆記

    NeoVim 學(xué)習(xí)筆記

    這篇學(xué)習(xí)筆記將用于記錄本人在學(xué)習(xí)使用 NeoVim 編輯器過程中所編寫的學(xué)習(xí)心得與代碼。該筆記將會存放在 https://github.com/owlman/study_note 項(xiàng)目的 SoftwareTool/DevelopmentTool 目錄下,并予以長期維護(hù)。 學(xué)習(xí)基礎(chǔ): 掌握 Linux shell 命令的基本使用。 掌握 Vim 編輯器的基本操作方法。 有

    2024年02月07日
    瀏覽(24)
  • Neovim for Rust

    Neovim for Rust

    之前學(xué)習(xí) Rust 一直使用的都是 VScode + rust-analyzer ,最近看到有網(wǎng)友安利 Neovim 于是就試了試,發(fā)現(xiàn)確實(shí)美觀,好用,而且內(nèi)存占用比較小。我個(gè)人很喜歡,也推薦給給大家。 前提:得有個(gè)代理,不然大概率會失敗,因?yàn)樾枰獜?github 上下載插件。 1. 首先配置好終端代理 接下來

    2024年02月08日
    瀏覽(32)
  • NEOVIM學(xué)習(xí)筆記

    NEOVIM學(xué)習(xí)筆記

    GitHub - blogercn/nvim-config: A pretty epic NeoVim setup 一直使用vim,每次到了新公司都要配置半天,而且常常配置失敗,很多插件過期不好用。偶然看到別人的NEO VIM,就試著用了一下,感覺還不錯。 用來開發(fā)和閱讀C++代碼都十分方便。打開文件夾會自動使用lsp創(chuàng)建索引,可以在函數(shù)間

    2024年02月11日
    瀏覽(18)
  • neovim下進(jìn)行接口測試,并且登錄token自動保存

    neovim下進(jìn)行接口測試,并且登錄token自動保存 最近一段時(shí)間最大的樂趣就是用自己配置的neovim寫go代碼, 現(xiàn)在用go代碼寫的接口,一開始用curl測試接口,感覺不是很方便。 就嘗試能否在neovim發(fā)起接口測試。 功夫不負(fù)有心人,找到了一個(gè)插件rest.nvim。記錄下安裝和自己定制的

    2024年02月02日
    瀏覽(21)
  • 如何在Ubuntu上安裝最新版本的Neovim并快速配置

    如何在Ubuntu上安裝最新版本的Neovim并快速配置

    在下面的內(nèi)容中,我會為你準(zhǔn)備一篇CSDN博客文章,介紹如何在Ubuntu上安裝最新版本的Neovim,以及如何使用Lazy Neovim進(jìn)行快速配置。這篇文章旨在幫助那些需要更新Neovim版本以使用最新功能和插件的用戶,特別是當(dāng)Ubuntu的包管理器APT只提供較舊版本時(shí)。 在Ubuntu系統(tǒng)上, sudo ap

    2024年03月21日
    瀏覽(30)
  • 十分鐘配置好Neovim go開發(fā)環(huán)境(其他語言一樣)

    十分鐘配置好Neovim go開發(fā)環(huán)境(其他語言一樣)

    這篇文章的目的是為了分享下我自己的 Neovim 配置。 本人是Golang程序員,最開始使用的IDE是 JetBrains Goland 。有一說一這個(gè)ide適配度很高,認(rèn)識的很多人都使用這個(gè)。但是它也有幾個(gè)對我來說的缺點(diǎn): 內(nèi)存占用度高,我個(gè)人電腦配置不太跟的上 費(fèi)用較高(DDDD) 去年的時(shí)候換了

    2024年02月15日
    瀏覽(27)
  • LazyVim: 將 Neovim 升級為完整 IDE | 開源日報(bào) No.67

    LazyVim: 將 Neovim 升級為完整 IDE | 開源日報(bào) No.67

    Stars: 31.5k License: NOASSERTION Curl 是一個(gè)命令行工具,用于通過 URL 語法傳輸數(shù)據(jù)。 核心優(yōu)勢和關(guān)鍵特點(diǎn)包括: 可在命令行中方便地進(jìn)行數(shù)據(jù)傳輸 支持多種協(xié)議 (HTTP、FTP 等) 提供豐富的選項(xiàng)和參數(shù)來滿足不同需求 Stars: 15.7k License: Apache-2.0 ingress-nginx 是一個(gè)使用 NGINX 作為反向代理

    2024年02月04日
    瀏覽(54)
  • 機(jī)械鍵盤常見鍵位(配列) 全尺寸鍵盤(Full-size 104鍵)、96%鍵盤(96鍵)、TKL鍵盤(Tenkeyless 87鍵)

    機(jī)械鍵盤常見鍵位(配列) 全尺寸鍵盤(Full-size 104鍵)、96%鍵盤(96鍵)、TKL鍵盤(Tenkeyless 87鍵)

    圖片轉(zhuǎn)自:https://www.xiaohongshu.com/explore/637a30a90000000010012aec 機(jī)械鍵盤的鍵位種類比較多,以下是常見的幾種鍵位: 這種鍵盤包括數(shù)字鍵盤和所有的功能鍵,通常有104個(gè)按鍵。 這種鍵盤結(jié)構(gòu)比較緊湊,有數(shù)字鍵盤 這種鍵盤沒有數(shù)字鍵盤,但包括方向鍵和其他的功能鍵,通常有

    2024年02月10日
    瀏覽(29)
  • deepin搭建go開發(fā)環(huán)境(git、go、neovim、NvChad、Nerd Font)

    deepin搭建go開發(fā)環(huán)境(git、go、neovim、NvChad、Nerd Font)

    官網(wǎng)下載地址 vmware中記得版本選擇是 debian 10.x 64位 然后就是一些確認(rèn)操作,然后就可以了 再上傳這個(gè)id_rsa.pub里的文本(即公鑰) 輸入這行命令以驗(yàn)證是否成功 ssh -T git@github.com 下載 下載地址 也可 wget https://studygolang.com/dl/golang/go1.20.4.linux-amd64.tar.gz 解壓 配環(huán)境變量 配置GOROOT

    2024年02月07日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包