将neovim打造成IDE |
您所在的位置:网站首页 › neovim插件安装目录 › 将neovim打造成IDE |
概述
最近疫情封锁在家无事,汇总整理下自己使用的neovim插件,以及这些插件都具备哪些功能: 功能 插件 1. 代码视图:文件和目录树,标签视图,状态栏 vim-airline-themes,vim-airline,nerdtree,taglist.vim,tagbar, 1.1 代码视图/语法高亮: sheerun/vim-polyglot, kanagawa ,vim-colorschemes 1.2 代码视图/代码显示: Yggdroot/indentLine(对齐线),luochen1990/rainbow(嵌套括号高亮) 1.3 代码高亮:高亮多个关键词 inkarkat/vim-mark 2. 代码跳转: 2.1 代码跳转/基于标签跳转: jsfaint/gen_tags.vim, 2.2 代码跳转/跨文件跳转:历史文件,子目录文件 yegappan/mru,junegunn/fzf,junegunn/fzf.vim 2.3 代码跳转/页面内跳转:行间、列间 easymotion/vim-easymotion 2.4 代码跳转/窗口跳转: nvim内置,tmux内置 3. 代码阅读:(代码定义,代码引用等) neovim/nvim-lspconfig,jsfaint/gen_tags.vim 3.1 代码编辑/自动补全: 内置补全功能,neovim/nvim-lspconfig 3.2 代码编辑/语法检查: neovim/nvim-lspconfig 3.3 代码编辑/代码片段: hrsh7th/nvim-cmp,L3MON4D3/LuaSnip,rafamadriz/friendly-snippets 3.4 代码编辑/代码搜索: rking/ag.vim 插件介绍 Nerdtree 概述【左边栏显示目录结构】 技巧 切换根目录:返回上级u;当前目录作为根目录C 更新显示:r 重命名文件:mm 显示隐藏文件:I 显示当前打开文件的位置::NERDTreeFind( 可以自定义快捷键 ) 开启和关闭窗口:NERDTreeToggle vim-airline 概述【顶栏部分显示已打开的文件,可以进行切换】 配置罗列部分airline配置 " 设置切换tab的快捷键 + 切换到第i个 tab nmap 1 AirlineSelectTab1 nmap 2 AirlineSelectTab2 nmap 3 AirlineSelectTab3 nmap 4 AirlineSelectTab4 nmap 5 AirlineSelectTab5 nmap 6 AirlineSelectTab6 nmap 7 AirlineSelectTab7 nmap 8 AirlineSelectTab8 nmap 9 AirlineSelectTab9 tagbar 概述tagbar是一个taglist的替代品,比taglist更适合c++使用,函数能够按类区分,支持按类折叠显示等,显示结果清晰简洁。 【右边栏显示文中的tag】 mru、fzf 概述插件组合后可以实现文件间的选择和跳转: 打开并搜索最近的的文件 搜索当前目录的文件 过滤文件行中内容fzf在bash中的使用,最常用的就是获取历史输入命令:ctrl + r --> 输入字符进行搜索匹配 --> ctrl + j/k进行上下切换 --> Enter 选中 配置 cd ~/.config/nvim/plugged/fzf ./install 全过程Y上面方式配置完成后,在bash中也能使用 vim-easymotion 概述可以在当前文件中快速跳转,行间跳转和单词间跳转。 默认的快捷键:行间跳转+j/k; 单词间跳转+w 输入上面按键后每行或每个单词会出现个索引符号,直接按对应的按键即可跳转到对应位置 gen_tags.vim 概述该插件可以自动生成tags,使用gtags替代cscope了,可以查看代码的定义和应用。该组件特点 支持的语言多:该组件配置插件支持分析的语言达154多种 属于静态分析,可能存在多种引用关系,后面的nvim-lspconfig是动态分析,需要编译生成引用关系,会更智能 配置安装gtags(gun global)软件 进入~/.config/nvim/gtags/执行install 安装位置:~/bin/gtags,~/.bashrc 和 ~/.config/nvim/init.vim 参考vim中使用gtags - whilewell - 博客园 (cnblogs.com) nvim-marks 概述可以高亮多个单词,方便阅读代码 nvim-lspconfig 概述lspconfig将neovim内置的lsp api进行封装(这里指的是lsp client,lsp server需要单独安装),从而可以通过简单的配置即可使用lsp。需要使用该功能还涉及很多其它的组件,这里就不赘述了。 lspconfig支持哪些功能: go-to-definition find-references hover completion:auto-completion和 snippets support,需要额外插件 rename format:未研究 refactor:未研究 功能演示 查看定义,引用,帮助 代码片段代码片段基于friendly-snippets 插件实现,有需要可以进行自定义 输入特定字符串,会匹配到自动补全中的snippet类型 然后进行上下选择,或者进行模糊匹配输入选择 选中后 即回车键 然后在片段中按键, 实现不同位置内容的编辑 自动补全nvim内置补全功能 LSP实现补全功能 代码的补全是基于nvim-lspconfig 和 不同语言的lsp server实现的。 当前软件内部开启的有: clangd:C / pyright:Python / lua-language-server:lua,前面是lsp server后面是对应的语言,当打开c, pyhton和lua后就会自动在项目根目录(.git)打开lsp server。可以通过:LspInfo查看配置和运行状态 代码补全演示 代码诊断python文件诊断功能 1. 通过']e'和'[e'实现诊断内容的上下跳转 2. 通过' + jq' 获取所有diagnosetics的列表 3. 通过' + jf' 打开diagnosetics内容c文件诊断功能:增加错误的语法 重命名下面演示了通过lsp将add_checksum替换成add_wsk,中间通过ag.vim和ag分别进行了搜索匹配,可以看到替换的过程非常的快捷 配置 pyhton语言 sudo npm i -g pyright c语言 安装bear,用来生成clangd依赖的配置文件'compile_commands.json' sudo apt-get install bear bear 后面跟编译命令即可 bear $make 安装clangd,直接使用二进制即可,自制的软件包中已经包含 参考Home · neovim/nvim-lspconfig Wiki · GitHub | lsp wiki nvim-autopairs 概述自动补齐括号,是通过lua重写后的autopairs。会自动补齐括号 参考Vim括号/引号自动补齐插件auto-pairs的安装和使用方法 | vim教程网 (vimjc.com) vim-translator 概述翻译软件,默认中文翻译 默认翻译引擎:['bing', 'haici', 'youdao'] 翻译快捷键: + w kanagawa 概述vim 颜色主题,显示效果很不错 配置针对tmux下colorscheme失效的问题需要如下配置: ~/.bashrc 中配置 alias tmux="TERM=screen-256color-bce tmux"~/.tmux.conf 中配置 set -g default-terminal "xterm"source ~/.bashrc后重启tmux即可生效 软件安装环境要求:Ubuntu 18.04 server版本 1.软件包下载路径 mkdir -p ~/.config/ git clone https://gitee.com/whilewell/nvim.git ~/.config/nvim注:部分软件已经内置到bin目录下,内置的软件有: clangd node nvim lua-language-server2.安装依赖软件 安装 clangd 依赖(clangd是c代码的lsp). sudo apt-get install bear 1. 生成方法 bear $build_cmd 2. nvim在'compile_commands.json'对应的目录下打开文件,安装gen_tags依赖 # 1. 会将global默然安装到~/bin/gtags; 安装pyhton的语法解析包pygments # 2. 并配置环境变量到~/.bashrc 和 ~/.config/nvim/init.vim cd ~/.config/nvim/gtags ./install安装lsp依赖: 不同的语言需要安装不同的lsp server npm i -g pyright安装fzf cd ~/.config/nvim/plugged/fzf ./install 全过程Y3.配置后的.bashrc # 配置后的.bashrc export PYTHONDONTWRITEBYTECODE=1 export PATH=~/.config/nvim/bin:$PATH export GTAGSCONF=/home/wsk/bin/gtags/data/gtags/gtags.conf export GTAGSLABEL=pygments alias nv='nvim' 使用技巧 查看绑定的快捷键:verbose imap 参考 learn-neovim-lua/comment.lua at main · nshen/learn-neovim-lua · GitHub | neovim配置替换成了lua方式 nvim0.5+从0单排]图文教程、nvim配置下载 在 neovim 中使用 Lua_lxyoucan的博客-CSDN博客_lua neovim 13_[nvim0.5+从0单排]_ 自定义代码段LuaSnip入门_哔哩哔哩_bilibili | 自定义代码段 Home · neovim/nvim-lspconfig Wiki · GitHub | lsp wiki Bytefluent | Vivify | vim 主题颜色在线调试本文来自博客园,作者:whilewell,转载请注明原文链接:https://www.cnblogs.com/viiv/p/15729383.html |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |