视频与目录
项目 | 值 |
---|---|
教程目录 | https://blog.csdn.net/lxyoucan/article/details/120641546 |
视频全屏 | https://www.bilibili.com/video/BV1jL4y1B75W/ |
视频 |
10内置lsp UI美化 |
10_[nvim0.5+从0单排]_内置lsp UI美化
2021年12月10日更新说明
现在已经有小伙伴在用nvim0.6了,
rinx/lspsaga.nvim
这个插件如果不可用,可以替换成下面的forked
https://github.com/tami5/lspsaga.nvim
插件安装
这里以packer为例,packer插件管理器安装方法:
修改~/.config/nvim/lua/plugins.lua
文件,并增加如下内容:
-- 自动为尚不支持 Neovim 0.5 内置 lsp 客户端的配色方案创建缺少的 LSP 诊断突出显示组。
use "folke/lsp-colors.nvim"
-- 基于neovim 内置lsp 的轻量级lsp 插件,具有高性能UI。非常酷
use 'rinx/lspsaga.nvim'
lsp-colors.nvim配置
新增配置文件
~/.config/nvim/after/plugin/lsp-colors.rc.vim
文件内容如下:
if !exists('#LspColors') | finish | endif
lua << EOF
require("lsp-colors").setup({
Error = "#db4b4b",
Warning = "#e0af68",
Information = "#0db9d7",
Hint = "#10B981"
})
EOF
lsp-colors.nvim配置
新增配置文件
~/.config/nvim/after/plugin/lspsaga.rc.vim
文件内容如下:
if !exists('g:loaded_lspsaga') | finish | endif
lua << EOF
local saga = require 'lspsaga'
--[[
saga.init_lsp_saga {
error_sign = '',
warn_sign = '',
hint_sign = '',
infor_sign = '',
border_style = "round",
}
]]--
saga.init_lsp_saga {
error_sign = ' ',
warn_sign = ' ',
hint_sign = '',
infor_sign = ' ',
border_style = "round",
}
EOF
"nnoremap <silent> <C-j> <Cmd>Lspsaga diagnostic_jump_next<CR>
nnoremap <silent> <leader>j <Cmd>Lspsaga diagnostic_jump_next<CR>
nnoremap <silent> <Cmd>Lspsaga diagnostic_jump_next<CR>
nnoremap <silent>K <Cmd>Lspsaga hover_doc<CR>
nnoremap <silent> <C-f> <cmd>lua require('lspsaga.action').smart_scroll_with_saga(1)<CR>
" scroll up hover doc
nnoremap <silent> <C-b> <cmd>lua require('lspsaga.action').smart_scroll_with_saga(-1)<CR>
"inoremap <silent> <C-k> <Cmd>Lspsaga signature_help<CR>
nnoremap <silent> <leader>k <Cmd>Lspsaga signature_help<CR>
nnoremap <silent> gh <Cmd>Lspsaga lsp_finder<CR>
" code action
" 智能处理,使用IDEA Alt+Enter 同样按键
nnoremap <silent><M-Enter> <cmd>lua require('lspsaga.codeaction').code_action()<CR>
nnoremap <silent><leader>ca <cmd>lua require('lspsaga.codeaction').code_action()<CR>
vnoremap <silent><leader>ca :<C-U>lua require('lspsaga.codeaction').range_code_action()<CR>
" 重命名 感觉没有lsp自带的功能好用,因为名称要从头输入
nnoremap <silent><leader>rn <cmd>lua require('lspsaga.rename').rename()<CR>
"预览定义
nnoremap <silent> <leader>gd <cmd>lua require'lspsaga.provider'.preview_definition()<CR>
"Jump Diagnostic and Show Diagnostics
nnoremap <silent> <leader>cd <cmd>lua require'lspsaga.diagnostic'.show_line_diagnostics()<CR>
" 打开终端
nnoremap <silent> <A-d> :Lspsaga open_floaterm<CR>
" 关闭终端
tnoremap <silent> <A-d> <C-\><C-n>:Lspsaga close_floaterm<CR>