现在回头看几年前自己写的插件配置文章, 看着那些曾经用过但后来都纷纷被替代的插件, 我会莫名怀念那段因计算机和终端而兴奋不已的自己.

在 2019 年四月份第一次写 vim 配置文章后, 时间已经过去了四年. 物是人非, 这几年发生了太多的破事烂事, 回想起来, 竟没有几件好事可供玩赏的, 国家的兴盛繁荣和普通人暗淡的生活产生了强烈的对比, 其带来的撕裂感让包括我在内的许多人都感到麻木且疲惫, 每当感到绝望和悲哀时, 我会诉诸文字来排遣情绪, 敲敲代码来为自己的生活带来些许意义, 毕竟, 这是程序员为数不多的特权了.

而不管是写文也好, 写代码也好, 人若重视, 自然会想得到一个趁手的工具: jetbrain IDE, obsidian, word, trilium, vscode …… 对于大部分人来说, 这些便已经足够, 只是如果有人仔细观察, 就会发现这些工具都是商业化的闭源软件, vscode 也是, 即便宣称开源, 但是人们用的二进制包是微软在开源代码的基础上添加了功能后封装闭源的. 不过说到底, 这些软件开源与否, 对我们普通人来说并没有多大的影响, 只是对于有开源软件洁癖的人来说可能会无法接受, 这个时候如果冒出来一个开源, 简单却又拥有无限扩展性和不输给 IDE 的功能的编辑器, 那么无疑能收获一批粉丝, 而 neovim 正是这样的编辑器.

之前在知乎看到了一个问题: 编辑器中你认为最重要的功能有哪些? 我在这里列出自己认为比较重要的功能, 来作为本文的索引:

  • 良好的编码体验
  • 人性化的界面
  • 代码调试
  • 模糊查找
  • 其他

与此同时: 文本仅对一些比较有用的插件进行推荐, 并在文末贴出自己的配置链接, 在这里不对自己的配置过多的介绍 (因为确实结构比较简单, 大伙一看就会明白的 :) .

良好的编码体验

功能插件
语法高亮nvim-treesitter/nvim-treesitter
代码补全hrsh7th/nvim-cmp
代码片段L3MON4D3/LuaSnip
其他linter, formatter等nvimtools/none-ls.nvim
AI(Copilot)集成zbirenbaum/copilot.lua
git 状态显示lewis6991/gitsigns.nvim
自动生成文档danymat/neogen
光标跳转folke/flash.nvim
lsp 增强体验glepnir/lspsaga.nvim
高亮当前词RRethy/vim-illuminate
代码结构展示nvim-neo-tree/neo-tree.nvim
特色缩进lukas-reineke/indent-blankline.nvim
特色注释folke/todo-comments.nvim
快速注释numToStr/Comment.nvim
tab 跳出括号和字符串abecodes/tabout.nvim
代码折叠kevinhwang91/nvim-ufo
lsp/format/dap 源管理williamboman/mason.nvim
括号操作kylechui/nvim-surround
自动补全括号中括号等windwp/nvim-autopairs

部分功能截图:

edit

人性化的界面

功能插件
主题folke/tokyonight.nvim
引导界面glepnir/dashboard-nvim
文件树nvim-neo-tree/neo-tree.nvim
标签栏akinsho/bufferline.nvim
状态栏hoob3rt/lualine.nvim

截图:

image-20230901215409924

ui

代码调试

功能插件
调试功能mfussenegger/nvim-dap
展示 uircarriga/nvim-dap-ui
inline 变量显示theHamsta/nvim-dap-virtual-text

image-20230901214106726

模糊查找

功能插件
模糊查找nvim-telescope/telescope.nvim
fzf集成nvim-telescope/telescope-fzf-native.nvim

截图: finder

其他

功能插件
Tmux适配christoomey/vim-tmux-navigator
删除buffer的同时不破坏窗口布局famiu/bufdelete.nvim
远程剪切板同步ojroques/nvim-osc52
session 恢复tpope/vim-obsession

最后贴上配置文件地址, 感兴趣可以去看看: link