10_[nvim0.5+从0单排]_内置lsp UI美化

2023-05-16

视频与目录

项目
教程目录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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

10_[nvim0.5+从0单排]_内置lsp UI美化 的相关文章

  • nvim-cmp插件function自动补()

    背景 之前使用的coc 最近刚转到NVIM native 方式的lsp 自动补全用的是nvim cmp插件 整体都不错 很满意 就是有一点不习惯 自动补全的function 或method不能自动在末尾加上 每次都要手动输入 有些麻烦 与是
  • oracle instant-client下载与安装sqlplus

    在下面的地址 xff0c 选择你的操作系统版本下载 https www oracle com database technologies instant client downloads html 比如我这里选的是 xff1a https
  • lua读取文本并去掉重复行

    需求 有一个文本文件 里面有大量的重复行 要求把重复的部分去掉 我本想用我的老本行java来实现的 感觉挺简单的 拿lua练一下手吧 源文本如下 column XH format a9 column XM format a9 column

随机推荐