install
curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux64.tar.gz # 或直接到 releases 中下载,linux 系统要注意 glibc 版本
sudo rm -rf /opt/nvim
sudo tar -C /opt -xzf nvim-linux64.tar.gz
export PATH="\(PATH:/opt/nvim-linux64/bin" # in .bashrc or .zshrc
安装 node 时需要注意与 glibc 版本对应,node 的安装方法请参考文章末尾的参考资料。另外使用 nvm 管理 node 版本,使用时需通过 nvm use {version_num} 来指定。
\)ldd --version
插件
nvim-tree
nvim-tree/nvim-tree.lua: A file explorer tree for neovim written in lua (github.com)
API:nvim-tree.lua/doc/nvim-tree-lua.txt at master · nvim-tree/nvim-tree.lua (github.com)
使用 :NvimTreeOpen 可以调出文件树窗口,使用 g? 可以展示快捷键帮助
在 lua/keymaps.lua 进行配置,通过
在 lua/config/nvim-tree.lua 中进行一些常用的快捷键设置
<C-]> 将根目录切换至当前目录
< 移动至当前文件夹内的上一个文件
移动至当前文件夹内的下一个文件
. 执行命令
-
将根目录切换至当前文件的父目录
a 创建新文件或文件夹
B 切换是否只显示已缓存的文件,默认是 false
c 拷贝一个文件或文件夹
C 切换是否只显示有 git 状态的文件
[c 导航至上一个 item 并显示 git status
]c 导航至上一个 item 并显示 git status
d 从文件系统中删除某个文件或文件夹
D 将文件或文件夹删除至 nvim 垃圾桶
E 展开所有文件夹
e 重命名文件或文件夹的基础名字(忽略扩展名)
[e 导航至上一个有问题的文件
]e 导航至下一个有问题的文件
z
再一次重装 Nvim-Tree 后,lazy setup 时配置了 event = "VimEnter" 选项,导致每次 nvim . 后不会打开目录树。
bufferline
Telescope
链接:https://github.com/nvim-telescope/telescope.nvim
auto-pairs
jiangmiao/auto-pairs: Vim plugin, insert or delete brackets, parens, quotes in pair (github.com)
自动插入、删除括号、引号
Nvim-Treesitter
nvim-treesitter/nvim-treesitter: Nvim Treesitter configurations and abstraction layer (github.com)
require 'nvim-treesitter.install'.compilers = { 'clang++'}
需要注意,使用 TSInstall cpp 时,需要将 compilers 设置为 clang。如果使用 clang++ 编译,则会遇到报错。
使用 :checkhealth nvim-treesitter 检查是否安装成功。
注释
terrortylor/nvim-comment: A comment toggler for Neovim, written in Lua (github.com)
Either use the command CommentToggle, e.g.:
● CommentToggle comment/uncomment current line
● 67,69CommentToggle comment/uncomment a range
● '<,'>CommentToggle comment/uncomment a visual selection
Or use the default mappings:
● gcc comment/uncomment current line, this does not take a count, if you want a count use the gc{count}{motion}
● gc{motion} comment/uncomment selection defined by a motion (as lines are commented, any comment toggling actions will default to a linewise):
○ gcip comment/uncomment a paragraph
○ gc4w comment/uncomment current line
○ gc4j comment/uncomment 4 lines below the current line
○ dic delete comment block
○ gcic uncomment commented block
Which-key
folke/which-key.nvim: