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.pswp.cn/web/66178.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/66178.shtml
英文地址,請注明出處:http://en.pswp.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…

Java學習筆記(二十三)

1 CacheEvict CacheEvict是Spring框架中用于清空緩存的注解。以下是對CacheEvict注解的詳細介紹&#xff1a; 1.1 作用 CacheEvict注解的主要作用是刪除緩存中的數據。在方法執行后或執行前&#xff08;根據配置&#xff09;&#xff0c;它可以清空指定的緩存項或整個緩存區…

如何優化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…

C# 多線程 Task TPL任務并行

先總結一下 之前發展過程的要點 1&#xff1a; 為了保證多線程正確順序執行 線程同步 2&#xff1a; 為了節省操作系統線程資源 線程池 異步 方式管理 正常來講 使用這倆個要點 進行使用 多線程可以滿足開發使用需求 但是 新的問題產生了 那就是 多個異步操作 需要編寫大量的代…

C++單例模式的設計

單例模式&#xff08;Singleton Pattern&#xff09;是一種設計模式&#xff0c;用于確保一個類只有一個實例&#xff0c;并提供一個全局訪問點來訪問該實例。在C中&#xff0c;單例模式通常用于管理全局資源或共享狀態。 以下是C中實現單例模式的幾種常見方式&#xff1a; 懶…

HBASE學習(一)

1.HBASE基礎架構&#xff0c; 1.1 參考&#xff1a; HBase集群架構與讀寫優化&#xff1a;理解核心機制與性能提升-CSDN博客 1.2問題&#xff1a; 1.FLUSH對hbase的影響 2. HLog和memstore的區別 hlog中存儲的是操作記錄&#xff0c;比如寫、刪除。而memstor中存儲的是寫入…

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…

vue3使用vue-native-websocket-vue3通訊

vue3使用vue-native-websocket-vue3通訊 插件使用一、啟用Vuex集成1.在mian.js中2.store/index.js文件中3.要websocket使用的頁面 二、啟用Piain集成1.在mian.js中2.根目錄下創建store文件夾&#xff0c;分別創建PiniaType.ts&#xff0c;store.ts&#xff0c;useSocketStore.t…

Windows圖形界面(GUI)-QT-C/C++ - Qt控件與布局系統詳解

公開視頻 -> 鏈接點擊跳轉公開課程博客首頁 -> ???鏈接點擊跳轉博客主頁 目錄 Qt布局系統(Layouts) 布局管理器基礎 高級布局技巧 嵌套布局 設置間距和邊距 常用控件詳解 按鈕類控件 QPushButton (標準按鈕) QRadioButton (單選按鈕) QCheckBox (復選框) …

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

ECMAScript 2024 引入了一個新的字符串實例方法&#xff1a;String.prototype.isWellFormed。這一新增功能是為了幫助開發者更容易地驗證字符串是否為有效的 Unicode 文本。本文將詳細介紹這一方法的使用場景、實現原理及其在實際應用中的價值。 String.prototype.isWellFormed…

[Linux]Docker快速上手操作教程

前言 以下命令并不是docker的所有&#xff0c;僅涉及日常使用時最最常用的命令。 目的之一時給入門的朋友熟悉學習&#xff0c;其二時我自己偶爾使用時備忘。 一、概念 簡單介紹下docker的相關概念&#xff1a; 鏡像&#xff1a;Docker 鏡像是一個輕量級、可執行的獨立軟件…