nvim 打造成可用的IDE(2)

上一个 文章写的太长了,

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

主要是关于 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.mzph.cn/web/66178.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

升级 SpringBoot3 全项目讲解 — 为什么 SpringBoot3 应该抛弃 Maven,搭配 Gradle 来使用?

学会这款 &#x1f525;全新设计的 Java 脚手架 &#xff0c;从此面试不再怕&#xff01; 随着 Spring Boot 3 的发布&#xff0c;许多开发者开始考虑如何将现有项目升级到最新版本。Spring Boot 3 带来了许多新特性&#xff0c;包括对 Java 17 的支持、更好的性能优化以及对 G…

如何优化Elasticsearch大文档查询?

记录一次业务复杂场景下DSL优化的过程 背景 B端商城业务有一个场景就是客户可见的产品列表是需要N多闸口及各种其它逻辑组合过滤的&#xff0c;各种闸口数据及产品数据都是存储在ES的(有的是独立索引&#xff0c;有的是作为产品属性存储在产品文档上)。 在实际使用的过程中&a…

openCvSharp 计算机视觉图片找茬

一、安装包 <PackageReference Include"OpenCvSharp4" Version"4.10.0.20241108" /> <PackageReference Include"OpenCvSharp4.runtime.win" Version"4.10.0.20241108" /> 二、准备两张图片 三、编写代码 using OpenCv…

实战:FRP内网穿透部署-支持ssh、web访问

目录 1 准备工作2 公网服务器部署server端2.1 frps.ini配置 3 内网客户端部署client端3.1 frpc.ini配置&#xff08;内网服务器01&#xff09;3.2 frpc.ini配置&#xff08;内网服务器02&#xff09; 4 服务启动脚本4.1 公网服务器 server4.2 内网服务器 client 2 systemctl常见…

Uniapp中实现加载更多、下拉刷新、返回顶部功能

一、加载更多&#xff1a; 在到达底部时&#xff0c;将新请求过来的数据追加到原来的数组即可&#xff1a; import {onReachBottom } from "dcloudio/uni-app";const pets ref([]); // 显示数据function network() {uni.request({url: "https://api.thecatap…

Flutter:封装ActionSheet 操作菜单

演示效果图 action_sheet_util.dart import package:ducafe_ui_core/ducafe_ui_core.dart; import package:flutter/material.dart; import package:demo/common/index.dart;class ActionSheetUtil {/// 底部操作表/// [context] 上下文/// [title] 标题/// [items] 选项列表 …

【Rust练习】28.use and pub

练习题来自&#xff1a;https://practice-zh.course.rs/crate-module/use-pub.html 1 使用 use 可以将两个同名类型引入到当前作用域中&#xff0c;但是别忘了 as 关键字. use std::fmt::Result; use std::io::Result;fn main() {}利用as可以将重名的内容取别名&#xff1a;…

Nginx 可观测性最佳实践

Nginx 介绍 Nginx 是一个开源、轻量级、高性能的 HTTP 和反向代理服务器&#xff0c;也可以用于 IMAP/POP3 代理服务器。Nginx 因其采用的异步非阻塞工作模型&#xff0c;使其具备高并发、低资源消耗的特性。高度模块化设计也使得 Nginx 具备很好的扩展性&#xff0c;在处理静…

《汽车维护与修理》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答&#xff1a; 问&#xff1a;《汽车维护与修理》是不是核心期刊&#xff1f; 答&#xff1a;不是&#xff0c;是知网收录的正规学术期刊。 问&#xff1a;《汽车维护与修理》级别&#xff1f; 答&#xff1a;国家级。主管单位&#xff1a;中国汽车维修行业协会 …

PHP智慧小区物业管理小程序

&#x1f31f;智慧小区物业管理小程序&#xff1a;重塑社区生活&#xff0c;开启便捷高效新篇章 &#x1f31f; 智慧小区物业管理小程序是一款基于PHPUniApp精心雕琢的智慧小区物业管理小程序&#xff0c;它犹如一股清新的科技之风&#xff0c;吹进了现代智慧小区的每一个角落…

洛谷P4868 Preprefix sum

洛谷传送门 题目描述 前缀和&#xff08;prefix sum&#xff09;&#x1d446;&#x1d456;。 前前缀和&#xff08;preprefix sum&#xff09;则把 &#x1d446;&#x1d456; 作为原序列再进行前缀和。记再次求得前缀和第 &#x1d456; 个是 &#x1d446;&#x1d446…

机器学习中的凸函数和梯度下降法

一、凸函数 在机器学习中&#xff0c;凸函数 和 凸优化 是优化问题中的重要概念&#xff0c;许多机器学习算法的目标是优化一个凸函数。这些概念的核心思想围绕着优化问题的简化和求解效率。下面从简单直观的角度来解释。 1. 什么是凸函数&#xff1f; 数学定义 一个函数 f…

Windows图形界面(GUI)-QT-C/C++ - Qt控件与布局系统详解

公开视频 -> 链接点击跳转公开课程博客首页 -> ​​​链接点击跳转博客主页 目录 Qt布局系统(Layouts) 布局管理器基础 高级布局技巧 嵌套布局 设置间距和边距 常用控件详解 按钮类控件 QPushButton (标准按钮) QRadioButton (单选按钮) QCheckBox (复选框) …

深入理解 ECMAScript 2024 新特性:字符串 isWellFormed 方法

ECMAScript 2024 引入了一个新的字符串实例方法&#xff1a;String.prototype.isWellFormed。这一新增功能是为了帮助开发者更容易地验证字符串是否为有效的 Unicode 文本。本文将详细介绍这一方法的使用场景、实现原理及其在实际应用中的价值。 String.prototype.isWellFormed…

生产管理看板助力节能科技公司实现数据自动化管理

在节能科技公司的生产过程中&#xff0c;数据管理的自动化是提高生产效率和产品质量的关键。然而&#xff0c;许多公司在数据记录、展示、对比和存档方面仍面临诸多痛点&#xff0c;如产品检测数据无法自动记录、缺乏直观的产线状态展示、检测数据对比繁琐耗时&#xff0c;以及…

【C++】B2112 石头剪子布

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 &#x1f4af;前言&#x1f4af;题目描述游戏规则&#xff1a;输入格式&#xff1a;输出格式&#xff1a;输入输出样例&#xff1a;解题分析与实现 &#x1f4af;我的做法实现逻辑优点与不足 &#x1f4af…

两分钟解决 :![rejected] master -> master (fetch first) , 无法正常push到远端库

目录 分析问题的原因解决 分析问题的原因 在git push的时候莫名遇到这种情况 若你在git上修改了如README.md的文件。由于本地是没有README.md文件的&#xff0c;所以导致 远端仓库git和本地不同步。 将远端、本地进行合并就可以很好的解决这个问题 注意&#xff1a;直接git pu…

微服务之松耦合

参考&#xff1a;https://microservices.io/post/architecture/2023/03/28/microservice-architecture-essentials-loose-coupling.html There’s actually two different types of coupling: runtime coupling - influences availability design-time coupling - influences…

hot100_240. 搜索二维矩阵 II

hot100_240. 搜索二维矩阵 II 直接遍历列减行增 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性&#xff1a; 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,4,7,1…

一步到位Python Django部署,浅谈Python Django框架

Django是一个使用Python开发的Web应用程序框架&#xff0c;它遵循MVC&#xff08;Model-View-Controller&#xff09;设计模式&#xff0c;旨在帮助开发人员更快、更轻松地构建和维护高质量的Web应用程序。Django提供了强大的基础设施和工具&#xff0c;以便于处理复杂的业务逻…