nvim 打造成可用的IDE(2)

embedded/2025/1/16 1:46:53/

上一个 文章写的太长了,

后来再写东西 就一卡一卡的,所以新开一个。

主要是关于 bufferline的。

之前我的界面是这样的。

这个图标很不舒服有。

后来发现是在这里进行配置。

我也不知道,这个配置 我是从哪 抄过来的。

测试结果:

那么这个图标我又是从哪里抄过来的呢?

再nerd font 的官网上。

Nerd Fonts - Iconic font aggregator, glyphs/icons collection, & fonts patcher

一些个字体 , 我也可以 再这个网站上进行下载。

Nerd Fonts - Iconic font aggregator, glyphs/icons collection, & fonts patcher

我还不怎么理解 图标字体。

------------------------------------------------------------------------------------------------------------------------------

然后是 关于Ubuntu的字体的设置。

首先来看一下, ubuntu 使用的是什么字体。

查看字体的命令

fs-list  | grep xxx

怎么查看我所使用的字体呢?

网上的截图:

gsettings get org.gnome.desktop.interface document-font-name

gsettings get org.gnome.desktop.interface monospace-font-name

gsettings get org.gnome.desktop.wm.preferences titlebar-font

gsettings set org.gnome.desktop.interface monospace-font-name 'Monospace 10'

gsettings set org.gnome.desktop.interface document-font-name 'Sans 10'

gsettings set org.gnome.desktop.wm.preferences titlebar-font 'Sans Bold 10'

我自己测试一下看看。

可以看到 都是不一样的。

那么如何配置  我下载的 nerd font 的字体呢?

网上的资料:“

疑问: 这不就相当于 ,所有的字体都生效了吗?

能不能制定一种字体呢?

B站上找了找资料。

原来是这样的。

首先系统中要有这个字体。

然后是再终端中去设置字体。

在这期间 nvim 会使用 某种字体的图标,比如bufferline

我猜应该是这样的。

那么 ubuntu 怎么设置 终端的字体呢?

可以看到 我的字体已经变的难看了。

我测试 这几个命令是没有用的。不知道 有什么作用。

gsettings get org.gnome.desktop.interface document-font-name

gsettings get org.gnome.desktop.interface monospace-font-name

gsettings get org.gnome.desktop.wm.preferences titlebar-font

gsettings set org.gnome.desktop.interface monospace-font-name 'Monospace 10'

gsettings set org.gnome.desktop.interface document-font-name 'Sans 10'

gsettings set org.gnome.desktop.wm.preferences titlebar-font 'Sans Bold 10'

我的疑问:

1 远程 ssh 怎么设置字体呢?

2 命令行可以设置 终端字体吗?

一下这两种方式 更改的都是 命令行模式下的 字体,而不是 在图形界面的终端的字体。

第一种方式 直接就是命令的方式:

第二种方式就是 更改这个文件。

结果如下:

xxxxx

---------------------------------------------------------------------------------------------------------------

关于 nvim 的一个报错。 这个报错是关于indent-blankline 的。

就是 如果我使用nvim ./   , 然后再打开 .c 文件的话是没问题的。

但是如果我是 直接 在 nvim  wang.c 的话,就会出现报错。

Error detected while processing /root/.config/nvim/init.lua:
E5113: Error while calling lua chunk: vim/_editor.lua:0: /root/.config/nvim/init.lua..nvim_exec2() called at /root/.config/nvim/init.lua:0../root/nvim-linux64/share/nvim/runtime/syntax/syntax.
vim[44]..BufReadPost Autocommands for "*": Vim(append):Error executing lua callback: /root/nvim-linux64/share/nvim/runtime/filetype.lua:35: Error executing lua: /root/nvim-linux64/share/nvim/r
untime/filetype.lua:36: /root/.config/nvim/init.lua..nvim_exec2() called at /root/.config/nvim/init.lua:0../root/nvim-linux64/share/nvim/runtime/syntax/syntax.vim[44]..BufReadPost Autocommandsfor "*"..FileType Autocommands for "*"..function <SNR>1_LoadFTPlugin[20]..script /root/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/after/ftplugin/c.lua: Vim(runtime):E5113:Error while calling lua chunk: ...ack/packer/start/indent-blankline.nvim/lua/ibl/utils.lua:22: type: expected function: 0x7f4d8898f910, got string (SKIP_LINE)
stack traceback:[C]: in function 'error'vim/shared.lua: in function 'validate'...ack/packer/start/indent-blankline.nvim/lua/ibl/utils.lua:22: in function 'validate'...ack/packer/start/indent-blankline.nvim/lua/ibl/hooks.lua:61: in function 'register'.../packer/start/indent-blankline.nvim/after/ftplugin/c.lua:3: in main chunk[C]: in function 'nvim_cmd'/root/nvim-linux64/share/nvim/runtime/filetype.lua:36: in function </root/nvim-linux64/share/nvim/runtime/filetype.lua:35>[C]: in function 'nvim_buf_call'/root/nvim-linux64/share/nvim/runtime/filetype.lua:35: in function </root/nvim-linux64/share/nvim/runtime/filetype.lua:10>[C]: in function 'nvim_exec2'vim/_editor.lua: in function 'cmd'/root/.config/nvim/lua/core/options.lua:5: in main chunk[C]: in function 'require'/root/.config/nvim/init.lua:1: in main chunk
stack traceback:[C]: in function 'nvim_cmd'/root/nvim-linux64/share/nvim/runtime/filetype.lua:36: in function </root/nvim-linux64/share/nvim/runtime/filetype.lua:35>[C]: in function 'nvim_buf_call'/root/nvim-linux64/share/nvim/runtime/filetype.lua:35: in function </root/nvim-linux64/share/nvim/runtime/filetype.lua:10>[C]: in function 'nvim_exec2'vim/_editor.lua: in function 'cmd'/root/.config/nvim/lua/core/options.lua:5: in main chunk[C]: in function 'require'/root/.config/nvim/init.lua:1: in main chunk
stack traceback:[C]: in function 'nvim_buf_call'/root/nvim-linux64/share/nvim/runtime/filetype.lua:35: in function </root/nvim-linux64/share/nvim/runtime/filetype.lua:10>[C]: in function 'nvim_exec2'vim/_editor.lua: in function 'cmd'/root/.config/nvim/lua/core/options.lua:5: in main chunk[C]: in function 'require'/root/.config/nvim/init.lua:1: in main chunk
stack traceback:[C]: in function 'nvim_exec2'vim/_editor.lua: in function 'cmd'/root/.config/nvim/lua/core/options.lua:5: in main chunk[C]: in function 'require'/root/.config/nvim/init.lua:1: in main chunk
vim.tbl_add_reverse_lookup is deprecated. Run ":checkhealth vim.deprecated" for more information
Error detected while processing BufReadPost Autocommands for "*":
Error executing lua callback: /root/nvim-linux64/share/nvim/runtime/filetype.lua:35: Error executing lua: /root/nvim-linux64/share/nvim/runtime/filetype.lua:36: BufReadPost Autocommands for "*
"..FileType Autocommands for "*"..function <SNR>1_LoadFTPlugin[20]..script /root/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim/after/ftplugin/c.lua: Vim(runtime):E5113: Error
while calling lua chunk: ...ack/packer/start/indent-blankline.nvim/lua/ibl/utils.lua:22: type: expected function: 0x7f4d888d7838, got string (SKIP_LINE)
stack traceback:[C]: in function 'error'vim/shared.lua: in function 'validate'...ack/packer/start/indent-blankline.nvim/lua/ibl/utils.lua:22: in function 'validate'...ack/packer/start/indent-blankline.nvim/lua/ibl/hooks.lua:61: in function 'register'.../packer/start/indent-blankline.nvim/after/ftplugin/c.lua:3: in main chunk

网上查了一下, 是关于 , blankline.nvim 插件的原因。

那么就关掉这个插件。

但是这么做了之后,nvim wang.c 依然是之前的报错。

偶然的机会, 我packer sync 了一下。

然后在 nvim wang.c 就没有问题了。

查一下 indent-blankline 的作用。

这个插件是关于 代码块之间划线的, 这是一个有用的 插件。

可以查查 怎么使用。

目前 我不明白为什么 这个插件导致 之前的报错。

总结一下:

1 这个报错的原因是 indent-blankline 的插件的原因。

2 对于卸载插件 packer 只需要, 注释掉插件,然后 packer sync 就可以了。

3 也就是说,只要安装了插件之后,就会自动加载,不管你有没有配置这个插件,应该会有一个默认配置的。你的配置,应该相当于一个定制化。

我基本上断定是 blankline 的问题了,摸索了一下, indent-blankline 是可以安装成功的,但是依然会有 之前的 无法打开c 文件的状况出现。

把可以的配置贴上就好了,不管它了,先卸载掉。

  1   return {1     "lukas-reineke/indent-blankline.nvim",2     main = "ibl",3     opts = {},4     config = function()5         local highlight = {6             "RainbowRed",7             "RainbowYellow",8             "RainbowBlue",9             "RainbowOrange",10             "RainbowGreen",11             "RainbowViolet",12             "RainbowCyan",13         }1415         local hooks = require "ibl.hooks"16         -- create the highlight groups in the highlight setup hook, so they are reset17         -- every time the colorscheme changes18         hooks.register(hooks.type.HIGHLIGHT_SETUP, function()19             vim.api.nvim_set_hl(0, "RainbowRed", { fg = "#E06C75" })20             vim.api.nvim_set_hl(0, "RainbowYellow", { fg = "#E5C07B" })21             vim.api.nvim_set_hl(0, "RainbowBlue", { fg = "#61AFEF" })22             vim.api.nvim_set_hl(0, "RainbowOrange", { fg = "#D19A66" })23             vim.api.nvim_set_hl(0, "RainbowGreen", { fg = "#98C379" })24             vim.api.nvim_set_hl(0, "RainbowViolet", { fg = "#C678DD" })25             vim.api.nvim_set_hl(0, "RainbowCyan", { fg = "#56B6C2" })26         end)2728         vim.g.rainbow_delimiters = { highlight = highlight }29         require("ibl").setup { indent = { highlight = highlight, char = "▏" } } --⎪⎥⎢⎟⎜⏐⎜⎢⎥⎪⎮⎸⎹⏐-▕ │┃30         hooks.register(hooks.type.SCOPE_HIGHLIGHT, hooks.builtin.scope_highlight_from_extmark)31     end32 }33

----------------------------------------------------------------------------

然后是关于flash.nvim 的作用,这里要继续写。

注意: 这里有一个 很重要的作用,就是在选择的时候,可以跟跳转联系起来,这样就可以选中任意的内容了。

-----------------------------------------------------------------

然后这里是关于 treesitter 相关的东西。

它 提供的是一棵语法树

然后就没有什么需要特别注意的了。

它一般是 配合flash 使用的。

------------------------------------------------------------

然后是 关于flash.nvim 的用法了。

可以去查官网。

也可以去查 nvim 的help

注意: flash 很重要的是 ,在 visual 模式中 加上 跳转之后, 对于 当前光标 到任意字符的 代码的选择。

举例。

比如我先按 viw , 选中一个单词。

然后我可以使用 flash的 跳转功能, 选中你跳转到的任意的位置。

------------------------------------------------------------------

然后是 关于 代码的 调用链 ,这个在分析代码的时候非常的有用。

--------------------------------------


http://www.ppmy.cn/embedded/154268.html

相关文章

uniapp 预加载分包,减少loading

在 uniapp 中&#xff0c;可以通过配置 pages.json 文件中的 preloadRule 属性来实现页面预加载功能。以下是具体操作步骤&#xff1a; 1. 在 pages.json 中配置 preloadRule preloadRule 用于指定哪些页面需要预加载&#xff0c;以及预加载时机。下面是一个示例配置&#xf…

如何检查Mac电脑是否已安装Python环境

1、Python 简介 Python 是一种高级编程语言&#xff0c;由荷兰程序员吉多范罗苏姆&#xff08;Guido van Rossum&#xff09;于1989年底发明&#xff0c;并于1991年首次发布。它的设计理念强调代码的可读性和简洁的语法&#xff0c;使得程序员能够以较少的代码行数表达思想&am…

【Vim Masterclass 笔记12】S06L26 + L27:Vim 文本的搜索、查找及替换同步练习(含点评课)

文章目录 S06L26 Exercise 07 - Search, Find, and Replace1 训练目标2 操作指令2.1. 打开 search-practice.txt 文件2.2. 同一行内的搜索练习2.3. 当前文件内的搜索练习2.4. 单词搜索练习2.5. 全局替换练习 3 退出 Vim S06L27 同步练习点评课 写在前面 Vim 的文本检索、查找与…

基于 JavaEE 的影视创作论坛

在当今数字化时代&#xff0c;影视创作论坛成为了影视爱好者们交流与分享的重要平台。本文将详细介绍基于 JavaEE 的影视创作论坛的设计与实现&#xff0c;让大家了解其背后的技术奥秘。 文末附有完整项目代码 该论坛具备丰富的功能&#xff0c;包括首页推荐、用户管理、影片管…

为深度学习创建PyTorch张量 - 最佳选项

为深度学习创建PyTorch张量 - 最佳选项 正如我们所看到的&#xff0c;PyTorch张量是torch.Tensor​ PyTorch类的实例。张量的抽象概念与PyTorch张量之间的区别在于&#xff0c;PyTorch张量为我们提供了一个可以在代码中操作的具体实现。 在上一篇文章中&#xff0c;我们看到了…

Java定时任务

在 Java 中&#xff0c;定时任务通常用于在特定时间或间隔执行某个操作。Java 提供了多种方式来实现定时任务&#xff0c;包括使用 Timer 类、ScheduledExecutorService 和 Spring 框架中的定时任务功能。下面将介绍这些常见的方法。 1. 使用 Timer 类 Timer 类可以用来安排任…

新冠肺炎服务预约微信小程序的设计与实现ssm+论文源码调试讲解

第4章 系统设计 4.1 系统设计的原则 在系统设计过程中&#xff0c;也需要遵循相应的设计原则&#xff0c;这些设计原则可以帮助设计者在短时间内设计出符合设计规范的设计方案。设计原则主要有可靠性&#xff0c;安全性&#xff0c;可定制化&#xff0c;可扩展性&#xff0c;可…

【Java项目】基于SpringBoot的【垃圾分类系统】

【Java项目】基于SpringBoot的【垃圾分类系统】 技术简介&#xff1a;本系统使用采用B/S架构、Spring Boot框架、MYSQL数据库进行开发设计。 系统简介&#xff1a;使用者分为管理员和用户、垃圾分类管理员&#xff0c;实现功能包括管理员&#xff1a;首页、个人中心、用户管理、…