Neovim

  • Published on
    ## The Issue 如果不是用到了一个叫 [peek](https://github.com/phw/peek) 的录屏软件,我可能没听过这个叫 vala 的语言,GNOME 搞出来的东西。 老灯日常用的 [geary](https://gitlab.gnome.org/GNOME/geary) 邮件客户端和 [peek](https://github.com/phw/peek) 都是这个语言编写的。 老灯发现neovim 官方的 vala lang server 配置无法适用于 peek 这个项目。已经提交了 PR ( https://github.com/neovim/nvim-lspconfig/pull/789 ), 不过这个合并效率真是低,都两周了,还没动静,没给close 也没给merge. ...
  • Published on
    本文主要按 neovim lsp 来讲的,但是其中关于 lang server 的很多东西,其实是通用的。简单在此记录,备忘。 ## common lsp config 一般除了跳转定义,老灯还启用了 `completion` 自动完成以及 `lsp-status` 用于状态显示。 这里定义了一个公用的 `mix_attach` 用于lsp `on_attach` 事件 ```lua local lsp_status = require('lsp-status') lsp_status.register_progress() lsp_status.config({ indicator_errors = "❌", ...
  • Published on
    最近发现打开某些行数“超级多”的古老 go 代码时,自动完成 和 保存 的时候都很卡,卡到什么程度呢? 完全无法正常使用的程度。 ## 保存文件时 CPU 100% 先说下 文件保存 的时候的卡顿问题吧。 这个问题经过排查主要是 Ale 插件引起的。 ``` let g:ale_fixers = { \ '*': ['remove_trailing_lines', 'trim_whitespace'], \ 'go': ['gofmt', 'goimports'], \} let g:ale_fix_on_save = 1 ``` 这个配置会使 ale 在 go 文件保存的时候自动执行 gofmt 和 goimports fixer ...
  • Published on
    [Neovim](https://neovim.io/) 这个项目大概开始于2014年,主要目的是打造现代化的Vim. 不考虑vi和旧版本系统的兼容性。不同于Vim,官方有基于GTK的gvim, Neovim 只有 [第三方的GUI](https://github.com/neovim/neovim/wiki/Related-projects#gui). 老灯肯定是会先Golang或Rust版的。 https://github.com/Kethku/neovide 有1.5K star, clone 下来编译一把。然后发现报错了。 ```bash Compiling skia-bindings v0.27.3 ...