最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Neovim插件推薦&配置

2023-03-19 03:01 作者:adgnn  | 我要投稿

1 前言

本文所用配置以LunarVim的Nightly版本為基礎(chǔ)。 Neovim版本: 0.9.0 插件管理器:lazy.nvim

你可以在LunarVim中,使用<leader>Lc打開(kāi)~/.config/lvim/config.lua,將以下插件配置復(fù)制或替換到合適的位置config.lua中,然后重啟lvim自動(dòng)安裝插件。

本文的配置將合理使用lazy.nvim的懶加載功能,只在需要的時(shí)候加載需要的插件,加快neovim的運(yùn)行和加載速度,減少資源占用。

適合閱讀本文的人群:有一定的neovim配置經(jīng)驗(yàn)

1.1 完整配置文件

你可以在 https://github.com/ADkun/my-lvim-config/blob/main/config.lua 這個(gè)網(wǎng)址看到我最新的config.lua完整配置文件。

1.2 【本文更好的閱讀方式】(強(qiáng)烈推薦)

由于B站的編輯器格式化功能很差,本文原文采用markdown格式編寫(xiě),請(qǐng)移步下面鏈接查看,獲得更好的體驗(yàn)。

請(qǐng)?jiān)L問(wèn) https://github.com/ADkun/lvim-config-suggest/blob/main/README.md 以更好的格式化方式查看本文,有任何錯(cuò)誤也會(huì)在這個(gè)文檔里更新

2 插件

2.0 預(yù)配置

這些配置是為了在config.lua中提前聲明一些變量,避免冗長(zhǎng)的寫(xiě)法,你可以將這些配置提前寫(xiě)在config.lua的前部。



2.1 filetype.nvim

推薦度:★★

主頁(yè):https://github.com/nathom/filetype.nvim?

簡(jiǎn)介:

  • filetype.nvim對(duì)neovim的filetype進(jìn)行了優(yōu)化,可以使打開(kāi)文件時(shí)識(shí)別文件類型的速度更快。

  • 在某些情況下,還可以修復(fù)由文件類型識(shí)別不正確導(dǎo)致的高亮不全問(wèn)題。(如打開(kāi).h文件發(fā)現(xiàn)沒(méi)有代碼高亮)

使用方式:在config.lua中配置好,然后打開(kāi)文件。

配置:



上面配置中的extensions表示將.h后綴的文件識(shí)別為cpp文件類型,使.h文件被neovim識(shí)別為cpp文件,使用cpp文件的高亮。 除了extensions以外,你還可以配置

  • literal:匹配全文件名

  • complex:使用正則表達(dá)式匹配路徑和文件名

  • function_extensions:對(duì)指定類型的文件設(shè)置回調(diào)函數(shù)

  • function_literal:對(duì)指定全文件名的文件設(shè)置回調(diào)函數(shù)

  • function_complex:對(duì)指定正則表達(dá)式匹配的文件設(shè)置回調(diào)函數(shù)

  • shebang:對(duì)于包含了指定shebang的文件視為指定的文件類型,如#! /usr/bin/dash視為sh文件類型,以匹配不同類型的shell腳本文件。 具體配置方法見(jiàn)插件Github主頁(yè),里面有給出example。

2.2 trouble.nvim

推薦度:★★★

主頁(yè):https://github.com/folke/trouble.nvim?

簡(jiǎn)介:

  • trouble.nvim實(shí)現(xiàn)了trouble這種預(yù)覽窗口類型(類似于quickfix, loclist),這種窗口的特點(diǎn)是切換項(xiàng)目時(shí)會(huì)將打開(kāi)前的窗口實(shí)時(shí)預(yù)覽到對(duì)應(yīng)的位置上,退出trouble窗口時(shí)會(huì)回到原來(lái)的位置。

  • trouble.nvim可以讓你快速查看你的工作區(qū)、文件中的LSP警告列表。

使用方式:熱鍵打開(kāi)窗口

配置:



鍵位配置(which-key):



插件只會(huì)在你使用快捷鍵的時(shí)候才加載。 注:which-key的配置方式需要你以<leader>鍵開(kāi)頭,比如上面配置的keymap["tt"],你需要按<leader>tt。?LunarVim的默認(rèn)<leader>鍵是空格

2.3 leap.nvim

推薦度:★★★★★

主頁(yè):https://github.com/ggandor/leap.nvim?

簡(jiǎn)介:

  • leap.nvim可以讓你的光標(biāo)快速在可視范圍內(nèi)跳轉(zhuǎn)。

  • 你只需要按下引導(dǎo)鍵(自定義的第一個(gè)鍵),然后輸入你想跳轉(zhuǎn)到的地方的相鄰2個(gè)字符,如有重復(fù),輸入最后一個(gè)提示字符即可。

  • 可以配合其它neovim快捷鍵一起使用,如"c", "d", "y"

使用方式:見(jiàn)下面的快捷鍵介紹,也可以配合"c", "d", "y"等neovim原本的功能鍵一起使用。

配置:


快捷鍵介紹:

  • r:在當(dāng)前光標(biāo)往右往下查找。

  • R:在當(dāng)前光標(biāo)往左往上查找。

  • W:多窗口情況下,可快速跳轉(zhuǎn)到其它窗口的內(nèi)容。

2.4 flit.nvim

推薦度:★★★★★

主頁(yè):https://github.com/ggandor/flit.nvim?

簡(jiǎn)介:

  • flit.nvim是leap.nvim同一個(gè)作者產(chǎn)出的,flit.nvim需要依賴于leap.nvim。

  • flit.nvim可以增強(qiáng)neovim的"f", "F", "t", "T"這幾個(gè)鍵的功能,同樣是一個(gè)光標(biāo)跳轉(zhuǎn)插件。

使用方式:按"f", "F", "t", "T",然后鍵入你想去的目標(biāo)字符。如果本次沒(méi)有到達(dá)你想去的目標(biāo),再次按下"f"或"t",光標(biāo)會(huì)跳到下一個(gè)目標(biāo)。

配置:



2.5 hop.nvim

推薦度:★★★★

主頁(yè):https://github.com/phaazon/hop.nvim?

簡(jiǎn)介:

  • hop.nvim與leap.nvim一樣,同樣是一款可視范圍內(nèi)光標(biāo)跳轉(zhuǎn)的插件。

  • 與leap.nvim不同,這款插件有更多功能,并且支持單字符的跳轉(zhuǎn)。

使用方式:以本配置為例,按"E",然后鍵入可視范圍內(nèi)你想去的那個(gè)字符,最后輸入1-2個(gè)提示字符就可以跳到目標(biāo)位置了。 注:配置中以注釋的方式將其它一些函數(shù)屏蔽掉了,僅保留單字符跳轉(zhuǎn)功能,作為leap.nvim的補(bǔ)充。如有需要可去掉注釋符自行配置。

配置:


2.6 nvim-ts-rainbow2

推薦度:★★★★

主頁(yè):https://github.com/HiPhish/nvim-ts-rainbow2 簡(jiǎn)介:

  • nvim-ts-rainbow2基于nvim-treesitter,將配對(duì)的括號(hào)進(jìn)行彩色的標(biāo)注,方便辨認(rèn)。 使用方式:配置即用

配置:


然后在config.lua另外一個(gè)地方加上這一行(非插件的config函數(shù)里)


2.7 nvim-treesitter-context

推薦度:★★★

主頁(yè):https://github.com/nvim-treesitter/nvim-treesitter-context?

簡(jiǎn)介:

  • nvim-treesitter-context是一款基于nvim-treesitter的上文文固定插件。

  • 它可以將當(dāng)前函數(shù)的函數(shù)頭固定在neovim界面的前幾行,讓你知道當(dāng)前在編輯的是什么類、函數(shù)或方法。 使用方式:配置即用

配置:


2.8 harpoon

推薦度:★★★

主頁(yè):https://github.com/ThePrimeagen/harpoon?

簡(jiǎn)介:當(dāng)前項(xiàng)目的文件收藏夾?

使用方式:快捷鍵使用

  • <leader>ohh:在Telescope中打開(kāi)Harpoon收藏的文件

  • <leader>oht:打開(kāi)Harpoon本身自帶的收藏夾

  • <leader>ohf:將當(dāng)前文件加入到收藏夾

  • <leader>ohd:將當(dāng)前文件從收藏夾中刪除

  • <leader>ohn:切換到下一個(gè)收藏夾文件

  • <leader>ohp:切換到上一個(gè)收藏夾文件

配置:


快捷鍵配置:


2.9 nvim-ts-context-commentstring

推薦度:★★★★

主頁(yè):https://github.com/JoosepAlviste/nvim-ts-context-commentstring?

簡(jiǎn)介:

  • 本插件基于nvim-treesitter,根據(jù)當(dāng)前光標(biāo)在文中的位置,配合Comment.nvim,自動(dòng)選擇合適的注釋格式。

使用方式:配置即用。

配置:


2.10 goto-preview

推薦度:★★★★

主頁(yè):https://github.com/rmagatti/goto-preview?

簡(jiǎn)介:本插件可以以浮動(dòng)窗口的形式預(yù)覽符號(hào)的定義、實(shí)現(xiàn)等信息。?

使用方式:光標(biāo)定位到目標(biāo)符號(hào),快捷鍵使用

  • gpd:預(yù)覽符號(hào)定義

  • gpi:預(yù)覽符號(hào)實(shí)現(xiàn)

  • gpr:預(yù)覽符號(hào)引用

  • gpt:預(yù)覽類型定義

配置:


2.11 nvim-lastplace

推薦度:★★★★★

主頁(yè):https://github.com/ethanholz/nvim-lastplace?

簡(jiǎn)介:自動(dòng)記憶當(dāng)前文件位置,在下次打開(kāi)時(shí)定位到上次位置。?

使用方式:配置即用

配置:


2.12 todo-comments.nvim

推薦度:★★★

主頁(yè):https://github.com/folke/todo-comments.nvim?

簡(jiǎn)介:高亮注釋中的關(guān)鍵詞,按需安裝。?

使用方式:在注釋中以以下關(guān)鍵詞,并加上英文冒號(hào),然后輸入注釋內(nèi)容。

  • HACK

  • NOTE

  • TODO

  • WARN

  • WARNING

  • BUG

  • FIX

  • PREF

配置:


2.13 nvim-surround

推薦度:★★★★★

主頁(yè):https://github.com/kylechui/nvim-surround?

簡(jiǎn)介:使用快捷鍵配合textobjects快速地添加/修改/刪除各種包括符,如()、[]、{}、<>等。?

使用方式:快捷鍵使用,下面舉幾個(gè)例子:

  • ysiw":將當(dāng)前光標(biāo)選中的單詞用雙引號(hào)包圍,其中,ys是本插件的觸發(fā)快捷鍵,iw是inner word的意思,這是neovim自帶的一種textobject選中方式。

  • ds):將當(dāng)前光標(biāo)位置相鄰的最內(nèi)層的小括號(hào)刪除。

  • cs)}:將當(dāng)前光標(biāo)位置相鄰的最內(nèi)層的小括號(hào)替換為大括號(hào)。

配置:


2.14 nvim-spectre

推薦度:★★★★

主頁(yè):https://github.com/nvim-pack/nvim-spectre?

簡(jiǎn)介:搜索并替換項(xiàng)目中所有文件/當(dāng)前文件/當(dāng)前選中區(qū)域的內(nèi)容?

使用方式:快捷鍵使用

  1. 在文件窗口中

  • <leader>osf:在當(dāng)前文件搜索

  • <leader>oss:在當(dāng)前目錄(項(xiàng)目)中搜索,包括子文件夾

  • <leader>osv:在當(dāng)前選中區(qū)域搜索

  • <leader>osw:在當(dāng)前選中區(qū)域搜索單詞

  1. 在Spectre窗口中

  • <leader>R:替換所有

  • <leader>rc:替換當(dāng)前光標(biāo)所在行的匹配項(xiàng)

  • <cr>:跳到該匹配項(xiàng)的原文件位置

  • <leader>q:將所有匹配項(xiàng)發(fā)送到quickfix中

  • ?:查看所有按鍵

注:在Spectre窗口中是無(wú)法使用<leader>q來(lái)退出窗口的,因?yàn)橛锌旖萱I沖突。需要用<C-w>c來(lái)退出。

配置:


快捷鍵配置:


2.15 nvim-bqf

推薦度:★★★★

主頁(yè):https://github.com/kevinhwang91/nvim-bqf?

簡(jiǎn)介:增強(qiáng)你的quickfix窗口?

使用方式:配置即可顯示增強(qiáng)的quickfix窗口,然后在quickfix窗口內(nèi)使用對(duì)應(yīng)快捷鍵操作quickfix

  • z,:將預(yù)覽窗口的切換為全屏/半屏

  • o:將當(dāng)前quickfix條目以drop的方式(如果緩沖區(qū)沒(méi)有就打開(kāi)新緩沖區(qū),如果有就切換到那個(gè)緩沖)

  • 更多快捷鍵請(qǐng)查看配置以及參考Github主頁(yè)

配置(并不完美,有興趣的可以自行修改):


2.16 vim-matchup

推薦度:★★★

主頁(yè):https://github.com/andymass/vim-matchup?

簡(jiǎn)介:在你光標(biāo)位置將if..else if..else等語(yǔ)言內(nèi)的對(duì)應(yīng)標(biāo)簽高亮。擴(kuò)展你的%鍵能力。?

使用方式:配置即用,在if等可以配對(duì)的標(biāo)簽處點(diǎn)擊%跳到下一個(gè)匹配處

配置:


2.17 persistence.nvim

推薦度:★★★★★

主頁(yè):https://github.com/folke/persistence.nvim?

簡(jiǎn)介:自動(dòng)保存你的session到文件中,在下次打開(kāi)相同目錄/項(xiàng)目時(shí),你可以手動(dòng)加載session恢復(fù)之前的工作狀態(tài)。?

使用方式:退出即自動(dòng)保存,打開(kāi)后使用<leader>a來(lái)加載session

配置:

快捷鍵配置:


2.18 better-escape.nvim

推薦度:★★★★★

主頁(yè):https://github.com/max397574/better-escape.nvim?

簡(jiǎn)介:可以自定義任意2個(gè)按鍵來(lái)退出Insert模式。?

使用方式:在Insert模式下,在200ms(可修改)內(nèi)連續(xù)按下"jk"或"jl"(可修改)退出Insert模式。

注:如果電腦比較卡,200ms可能不夠,可以修改為更長(zhǎng)一些的時(shí)間。

配置:


2.19 tabout.nvim

推薦度:★★★

主頁(yè):https://github.com/abecodes/tabout.nvim

簡(jiǎn)介:可以在Insert模式下,按<Tab>跳出括號(hào)。?

使用方式:在Insert模式下,如果你的光標(biāo)在括號(hào)或引號(hào)里面(可配置),按<Tab>鍵跳出括號(hào) 注:實(shí)際使用時(shí),因?yàn)閮?yōu)先級(jí)比nvim-cmp低,所以在彈出補(bǔ)全窗口時(shí),需要按<C-e>關(guān)閉補(bǔ)全窗口才能使用,所以體驗(yàn)并不是特別好。

配置:


2.20 smartyank.nvim

推薦度:★★

主頁(yè):https://github.com/ibhagwan/smartyank.nvim?

簡(jiǎn)介:在"dd"等不希望將內(nèi)容復(fù)制到系統(tǒng)剪貼板的時(shí)候不復(fù)制到系統(tǒng)剪貼板。支持在SSH等情況復(fù)制到系統(tǒng)剪貼板。?

使用方式:配置即用。 注:可能是因?yàn)閭€(gè)人環(huán)境問(wèn)題,沒(méi)有實(shí)際體驗(yàn)到它的功能,但對(duì)性能沒(méi)啥影響,還是裝上吧。

配置:


2.21 marks.nvim

推薦度:★★★★★

主頁(yè):https://github.com/chentoast/marks.nvim?

簡(jiǎn)介:在左側(cè)欄中顯示這一行標(biāo)記的marks,可以顯示當(dāng)前文件/所有緩沖區(qū)的所有marks/所有緩沖區(qū)的大寫(xiě)marks?

使用方式:

  • mx:neovim原本的mark方式進(jìn)行標(biāo)記,x為標(biāo)記名。

  • m;:自動(dòng)對(duì)當(dāng)前行按字母順序進(jìn)行小寫(xiě)標(biāo)記

  • dmx:x為標(biāo)記名,刪除某個(gè)標(biāo)記名

  • mX:X為大寫(xiě)標(biāo)記名,大寫(xiě)的標(biāo)記可以跨文件跳轉(zhuǎn)。

  • <leader>oma:顯示所有標(biāo)記(包括小寫(xiě)大寫(xiě),在所有緩沖區(qū)中)

  • <leader>omb:顯示當(dāng)前buffer中的所有標(biāo)記(包括小寫(xiě)大寫(xiě))

  • <leader>omg:顯示所有大寫(xiě)標(biāo)記

配置:

快捷鍵配置:


2.22 neodim

推薦度:★★★★★

主頁(yè):https://github.com/zbirenbaum/neodim?

簡(jiǎn)介:將沒(méi)有使用到的變量進(jìn)行暗淡處理。?

使用方式:配置即用

配置:


2.23 windows.nvim

推薦度:★★★★★

主頁(yè):https://github.com/anuvyklack/windows.nvim?

簡(jiǎn)介:通過(guò)幾個(gè)函數(shù)可以將當(dāng)前neovim窗口進(jìn)行全屏/垂直全屏/水平全屏/等分?

使用方式:快捷鍵使用

配置:

快捷鍵配置:


2.24 nvim-notify

推薦度:★★★★★

主頁(yè):https://github.com/rcarriga/nvim-notify?

簡(jiǎn)介:將各種提示顯示為彈窗?

使用方式:配置即用

  • <leader>onm:顯示messages(非noice功能)

注:只使用nvim-notify的話,只能將vim.notify重定向輸出到notify窗口中,需要將所有消息重定向到notify的話,需要裝noice.nvim 注2:為了性能,配置中將動(dòng)畫(huà)效果取消了,需要的可以自行開(kāi)啟(修改stages項(xiàng))

配置:


2.25 noice.nvim

推薦度:★★★★★

主頁(yè):https://github.com/folke/noice.nvim?

簡(jiǎn)介:一個(gè)覆寫(xiě)了很多neovim原本UI的插件,很大幅度地提升了美觀性。

  • 將messages重定向到notify

  • 將搜索、命令顯示為獨(dú)立的命令框,并去除最底部的顯示欄,節(jié)省空間。

  • 顯示過(guò)往Notifications

  • Telescope整合

使用方式:配置即用,快捷鍵呼出歷史窗口等功能。

  • <leader>onn:顯示Notifications歷史

  • <leader>ont:在Telescope中顯示Notifications歷史

  • <leader>ond:臨時(shí)禁用Noice

  • <leader>one:?jiǎn)⒂肗oice

配置:

快捷鍵配置:


2.26 nvim-ufo

推薦度:★★★

主頁(yè):https://github.com/kevinhwang91/nvim-ufo?

簡(jiǎn)介:?jiǎn)⒂胣eovim的折疊功能,在左側(cè)欄顯示可折疊的項(xiàng)目,并能夠自定義折疊顯示的內(nèi)容?

使用方式:快捷鍵使用

  • zm:折疊整個(gè)文件的所有內(nèi)容

  • zM:同上

  • zr:展開(kāi)整個(gè)文件的所有內(nèi)容

  • zR:同上

  • zol:展開(kāi)當(dāng)前光標(biāo)所在行的1層折疊

  • zO:展開(kāi)當(dāng)前光標(biāo)所在行的所有折疊

  • zc:當(dāng)前光標(biāo)所在行進(jìn)行折疊

  • <leader>oud:禁用Ufo

  • <leader>oue:?jiǎn)⒂肬fo

注:配置中使用了lazy=true,意味著并不會(huì)在文件加載時(shí)加載本插件,你需要手動(dòng)輸入一次zmzr以加載本插件。 注2:在多窗口的狀態(tài)下,可能會(huì)有一些BUG,如保存時(shí)自動(dòng)把另外窗口全部折疊了,這時(shí)候可以臨時(shí)關(guān)閉UFO(<leader>oud)。


2.27 nvim-window-picker

推薦度:★★★★

主頁(yè):https://github.com/s1n7ax/nvim-window-picker?

簡(jiǎn)介:在打開(kāi)的多個(gè)窗口快速跳轉(zhuǎn)、交換。?

使用方式:

  • 鍵入,w,然后鍵入1個(gè)小寫(xiě)字母鍵選擇窗口,跳轉(zhuǎn)到對(duì)應(yīng)窗口。

  • 鍵入,W,然后鍵入1個(gè)小寫(xiě)字母鍵選擇窗口,將當(dāng)前焦點(diǎn)窗口與對(duì)應(yīng)窗口交換。

配置:

2.28 symbols-outline.nvim

推薦度:★★★★★

主頁(yè):https://github.com/simrat39/symbols-outline.nvim?

簡(jiǎn)介:以右側(cè)欄形式顯示當(dāng)前文件的大綱、標(biāo)題、符號(hào)?

使用方式:快捷鍵打開(kāi)側(cè)欄

  • <leader>oo:打開(kāi)symbols-outline側(cè)邊欄 在側(cè)欄的快捷鍵:

  • <cr>:回車定位到符號(hào)位置,并焦點(diǎn)到目標(biāo)窗口。

  • o:定位到符號(hào)位置,但焦點(diǎn)保留在symbols-outline窗口。

  • <C-space>:顯示對(duì)應(yīng)符號(hào)的hover窗口

  • K:打開(kāi)當(dāng)前符號(hào)的預(yù)覽窗口。

  • r:重命名當(dāng)前符號(hào)

  • a:代碼action

  • h:當(dāng)前光標(biāo)處折疊

  • l:當(dāng)前光標(biāo)處展開(kāi)

  • P:折疊所有

  • U:展開(kāi)所有折疊

  • Q:重置折疊

注:需要LSP支持

配置:


2.29 colorful-winsep.nvim

推薦度:★★★★

主頁(yè):https://github.com/nvim-zh/colorful-winsep.nvim?

簡(jiǎn)介:打開(kāi)多窗口時(shí),在當(dāng)前焦點(diǎn)窗口周圍顯示紫色的邊框?

使用方式:配置即用

配置:


2.30 nvim-gomove

推薦度:★★★★

主頁(yè):https://github.com/booperlv/nvim-gomove?

簡(jiǎn)介:通過(guò)快捷鍵將當(dāng)前選中區(qū)域/當(dāng)前行進(jìn)行移動(dòng),并遵循縮進(jìn)?

使用方式:

  1. Normal模式:

  • <M-h/l>:向左/右移動(dòng)當(dāng)前光標(biāo)處的字符

  • <M-j/k:將當(dāng)前行向下/上移動(dòng),遵循縮進(jìn)

  1. Visual模式:

  • <M-j/k/h/l>:將當(dāng)前選中區(qū)域向下/上/左/右移動(dòng),遵循縮進(jìn)

配置:



2.31 search-replace.nvim

推薦度:★★★★★

主頁(yè):https://github.com/roobert/search-replace.nvim?

簡(jiǎn)介:受夠了手動(dòng)輸入:%s/xxx/ccc/gcI嗎?這款插件可以使用快捷鍵一鍵幫你輸入這些內(nèi)容。 這款插件是spectre插件的補(bǔ)充,你可以用這款插件或者spectre插件來(lái)達(dá)到全局文件替換的效果。?

使用方式:快捷鍵使用

  1. 當(dāng)前緩沖區(qū):

  • <leader>rs:打開(kāi)選擇列表(個(gè)人不會(huì)用)

  • <leader>ro:打開(kāi)Cmdline,自動(dòng)幫你鍵入好了:%s//gcI

  • <leader>rw:打開(kāi)Cmdline,自動(dòng)幫你鍵入好了當(dāng)前光標(biāo)所在的word

  • <leader>rW:打開(kāi)Cmdline,自動(dòng)幫你鍵入好了當(dāng)前光標(biāo)所在WORD

  • <leader>re:...

  • <leader>rf:...

  1. 所有打開(kāi)的緩沖區(qū):同上,但是前綴是<leader>rb,只要多加一個(gè)b鍵即可 具體快捷鍵見(jiàn)下面的“快捷鍵配置”

配置:


快捷鍵配置:

2.32 trailblazer.nvim

推薦度:★★★★

主頁(yè):https://github.com/LeonHeidelbach/trailblazer.nvim?

簡(jiǎn)介:一款很強(qiáng)大的臨時(shí)軌跡標(biāo)記插件,它可以使用快捷鍵保存你當(dāng)前的位置,然后安心地把光標(biāo)移到其它地方,之后再按快捷鍵按順序跳回原來(lái)記錄的位置。?

使用方式:快捷鍵使用。

  • <A-s>:在當(dāng)前行保存軌跡坐標(biāo)

  • <A-d>:回到上一個(gè)保存的軌跡坐標(biāo),并刪除該坐標(biāo)

  • <A-o>:用quickfix打開(kāi)所有軌跡坐標(biāo)的列表

  • <A-L>:刪除所有軌跡坐標(biāo)

  • <A-p>:在上一個(gè)保存的軌跡坐標(biāo)處粘貼

  • <A-P>:在所有保存的軌跡坐標(biāo)處粘貼 更多快捷鍵見(jiàn)配置,以及Github文檔。

配置:


2.33 nvim-recorder

推薦度:★★★★★

主頁(yè):https://github.com/chrisgrieser/nvim-recorder?

簡(jiǎn)介:大幅簡(jiǎn)化和增強(qiáng)neovim自身的宏功能。允許你編輯、復(fù)制宏的內(nèi)容以及設(shè)置斷點(diǎn)?

使用方法:快捷鍵使用

  • q:開(kāi)始/結(jié)束錄制宏

  • Q:執(zhí)行當(dāng)前選擇的宏

  • <A-q>:切換宏槽位

  • cq:編輯當(dāng)前槽位的宏

  • yq:復(fù)制當(dāng)前槽位的宏

注:本配置僅使用了"u", "i", "o"三個(gè)槽位,如果需要更多槽位可以自行配置slot項(xiàng)。

配置:


2.34 nvim-various-textobjs

推薦度:★★★★

主頁(yè):https://github.com/chrisgrieser/nvim-various-textobjs?

簡(jiǎn)介:為neovim新增很多textobjects,它們可以豐富你的快捷鍵選中、復(fù)制、修改等操作的體驗(yàn)。?

使用方式:快捷鍵使用(以選中功能"v"來(lái)舉例,可以替換為"c"(刪除并修改)、"d"(刪除)、"y"復(fù)制等)(i可以替換為ai表示"inner",a表示"outer",如va}會(huì)選中包括}本身的內(nèi)容,而vi}則不會(huì))

  • viS:選中當(dāng)前光標(biāo)下的子word(如VimEnter,我們使用viw會(huì)選中整個(gè)VimEnter,但viS只會(huì)選中EnterVim

  • vii:選中當(dāng)前相同縮進(jìn)的所有行

  • vR:選中當(dāng)前相同縮進(jìn)往后剩余的行

  • v%:選中當(dāng)前光標(biāo)下對(duì)應(yīng)的括號(hào)結(jié)束位置

  • vr:選中剩余的段落

  • vgG:選中整個(gè)文件

  • v_:選中整行有字符的部分(除去空白字符)

  • viv:選中key-value的value部分

  • vik:選中key-value的key部分

  • vL:選中URL

  • vin:選中數(shù)字部分

  • v!:選中診斷部分(需要LSP)

  • vil:選中markdown的鏈接

  • viC:選中markdown的代碼塊部分

  • vic:選中css選擇器

  • vi/:選中javascript的正則表達(dá)式pattern

  • viD:選中雙中括號(hào)內(nèi)容[[]]

注:可以修改lookForwardLines的數(shù)量來(lái)改變我們使用textobjects時(shí)以當(dāng)前光標(biāo)為起點(diǎn)查找的行數(shù)。

配置:


2.35 nvim-treesitter-textobjects

推薦度:★★★★

主頁(yè):https://github.com/nvim-treesitter/nvim-treesitter-textobjects?

簡(jiǎn)介:基于nvim-treesitter的textobjects,可以幫你選中class、function等語(yǔ)法內(nèi)容?

使用方式:快捷鍵使用,類似于nvim-various-textobjs(以選中模式v舉例)

  1. 選擇

  • vaf:選中當(dāng)前函數(shù)

  • vac:選中當(dāng)前類內(nèi)容

  • vas:選中當(dāng)前scope

  • vad:選中當(dāng)前條件(if..else)

  1. 跳轉(zhuǎn)


  • ]m:跳到下一個(gè)函數(shù)的開(kāi)始處



  • ]]:跳到下一個(gè)類的開(kāi)始處



  • ]s:跳到下一個(gè)scope的開(kāi)始處



  • ]z:跳到下一個(gè)fold的開(kāi)始處



  • ]M:跳到下一個(gè)函數(shù)的結(jié)尾處



  • ][:跳到下一個(gè)類的結(jié)尾處



  • [m:跳到上一個(gè)函數(shù)的開(kāi)始處



  • [[:跳到上一個(gè)類的開(kāi)始處



  • [M:跳到上一個(gè)函數(shù)的結(jié)尾處



  • []:跳到上一個(gè)類的結(jié)尾處



  • ]d:跳到下一個(gè)條件



  • [d:跳到上一個(gè)條件


注:更多配置和用法見(jiàn)Github主頁(yè)

配置:


2.36 nvim-treesitter-textsubjects

推薦度:★★★

主頁(yè):https://github.com/RRethy/nvim-treesitter-textsubjects?

簡(jiǎn)介:根據(jù)光標(biāo)位置自動(dòng)決定要選中什么textobject?

使用方式:快捷鍵使用(以v選中模式舉例)

  • v.:根據(jù)光標(biāo)位置,智能選擇

  • v,:選中上一次選中的范圍

  • v;:選中容器外圍

  • vi;:選中容器內(nèi)

注:在某些情況下貌似有點(diǎn)卡,可能是因?yàn)閚vim-treesitter的樹(shù)比較長(zhǎng)的緣故,但是小文件還是很快的

配置:


3 其它配置

3.1 snip

~/.config/lvim下創(chuàng)建一個(gè)snippets目錄,然后在里面創(chuàng)建一個(gè)package.json,配置好指定格式的內(nèi)容,之后編輯對(duì)應(yīng)的json文件就可以為對(duì)應(yīng)的文件類型添加snippets了

參照 https://github.com/ADkun/my-lvim-config 的snippets目錄

3.2 formatter和linter

在Mason插件中下載的formatter和linter,需要我們手動(dòng)將它們對(duì)應(yīng)到文件類型上。 以下是我的配置項(xiàng),可以參考配置。


Neovim插件推薦&配置的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
会昌县| 淮阳县| 莱芜市| 鄢陵县| 凉城县| 双江| 天水市| 平罗县| 白河县| 黄平县| 中方县| 剑阁县| 卫辉市| 洞口县| 玉林市| 古蔺县| 伊川县| 武城县| 柘城县| 黄石市| 岳阳县| 五莲县| 县级市| 南郑县| 枝江市| 祁阳县| 中阳县| 庆阳市| 山阳县| 泾源县| 眉山市| 岢岚县| 保山市| 安远县| 全南县| 遂川县| 灌阳县| 沁水县| 岳西县| 鸡东县| 枞阳县|