ubuntu22.04 编译安装 Kate 编辑器

news2025/1/8 4:47:06

ubuntu22.04 编译安装 Kate 编辑器

文章目录

  • ubuntu22.04 编译安装 Kate 编辑器
    • 0x0 目的
    • 0x1 在 Ubuntu 22.04 编译安装 Kate
      • 0x11 Download dependencies
      • 0x12 Build kate and kwrite
      • 0x13 Setup paths for binary and shared libraries
      • 0x14 Misc trials
    • 0x2 配置 Kate
      • 渲染空白字符
      • 单行 git 历史提交信息的显示
      • GDB 调试插件
      • 精简菜单栏
    • 0x3 日常使用 Kate
      • 打开 terminal
      • 打开多个文件并分栏
      • 快速查找文件
      • 将选中代码注释掉

0x0 目的

通常 VSCode 足够强大好用, 但个别时候电脑资源紧张, 尤其是 VSCode 在炎炎夏日会莫名其妙崩溃, 需要一款具备如下特性的编辑器作为备用:

  • 跨平台: Windows, Linux, MacOSX 都支持
  • CMake 默认高亮支持好, 或者安装插件足够容易
  • 能打开目录
  • 带有 git 功能, 最好带有行内 git blame 功能或插件
  • 能在打开的目录开启 terminal
  • 能显示和修改文件编码
  • 能显示和修改文件换行符
  • 能渲染空白字符
  • 能切分打开的多个文件为多栏

Kate 23 满足上述特性。相比之下:

  • JetBrains Fleet 颜值更好, 不过还不支持换行符的显示和设置, 未来可以期待一下
  • Sublime Text 默认没给 CMake 语法高亮

0x1 在 Ubuntu 22.04 编译安装 Kate

我的 Ubuntu 是 KUbuntu 22.04, 也就是桌面是 KDE Plasma 的 ubuntu, 已经自带了 kate 21.12.3。最新版(20230423)是 23.07.70, 主要有这几点我觉得改进的不错:

  • 开启 Kate 后, 默认显示 Welcome 页面, 并且能支持打开目录
  • 可以开启行内 git blame 插件

0x11 Download dependencies

sudo apt install extra-cmake-modules
sudo apt install dialog
sudo apt install libkf5texteditor-dev

0x12 Build kate and kwrite

cd ~/work
git clone https://invent.kde.org/utilities/kate
cd kate
BUILD_DIR=build
cmake -S . -B $BUILD_DIR
cmake --build $BUILD_DIR -j4
#cmake --install $BUILD_DIR --prefix ~/soft/kate-master
sudo cmake --install build --prefix /usr/local/

0x13 Setup paths for binary and shared libraries

vim ~/.zshrc

if [ -f ~/.pathrc ]; then
    . ~/.pathrc
fi

vim ~/.pathrc

export LD_LIBRARY_PATH=/usr/local/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH

0x14 Misc trials

Tried kdesrc-build, but not finished.

git clone https://invent.kde.org/sdk/kdesrc-build.git

Tried Kdenlive for KF5, but not finished.

https://invent.kde.org/multimedia/kdenlive/-/blob/master/dev-docs/build.md
sudo apt build-dep mlt kdenlive
sudo aptitude install libmlt++-dev # to resolve one conflict

TRied update .desktop file, but not working.

sudo vim /usr/share/applications/org.kde.kate.desktop

change contents with:

#Exec=kate -b %U
Exec=/home/zz/soft/kate-master/bin/kate -b %U

0x2 配置 Kate

渲染空白字符

单行 git 历史提交信息的显示

GDB 调试插件

精简菜单栏

“新建”, “打开”, “保存”, “另存为” 比较鸡肋, 一般都是用快捷键

0x3 日常使用 Kate

打开 terminal

快捷键是 F4, 这和文件浏览器 Dolphin 是一样的。

打开多个文件并分栏

Ctrl + Shift + L 快捷键

快速查找文件

类似于 VSCode 的 Ctrl + Shift + P, 或者 Vim 的 Telescope. 启动方式是用鼠标点击有上方的小闪电图标:

也可以用快捷键 Ctrl + Alt + O 来召唤出来:

将选中代码注释掉

Ctrl + /

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/515319.html

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

相关文章

R语言 | 数据分析与处理

目录 一、随机抽样 1.1 将随机抽样应用于扑克牌 1.2 种子值 ​1.3 模拟骰子 1.4 比重的设置 二、再谈向量数据的抽取——以islands为实例 三、数据框数据的抽取——重复值的处理 ​3.1 重复值的搜索 3.2 which()函数 3.3 抽取数据是去除重复值 四、数据框数据的抽取…

Linux命令·scp

scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读 read only system时&#xff0c…

【深度学习】第一门课 神经网络和深度学习 Week 2 神经网络基础

2.1 二元分类 前言 第二周的主题是学习神经网络的基础知识。 实现神经网络需要用到一些重要的技术和技巧,比如怎样处理包含大量样本的训练集。 在神经网络的计算中,还会有前向暂停、前向传播、反向暂停和反向传播等步骤,本周会对它们进行…

面试一个6年经验测试员:一年经验硬生生用了六年....

在众多面试中,对于那个工作了6年的面试者,我印象很深刻,因为最开始拿到简历的时候,我一摸:"这简历,好厚啊!"再一看,工作6年。 于是我去找了我的领导,我说:“这人我应该没…

C++入门基础知识总结(超详细)

目录 C入门基础知识之什么是C? C入门基础知识看看C的历史版本: C入门基础知识关键字 C入门基础之C的命名空间 C入门基础命名空间的使用 C入门基础知识的输入和输出 C入门基础知识-缺省参数 C入门基础-C函数重载 extern “C” C入门基础知识-引用 C入门基…

图像处理:图像增广算法

目录 前言 图像增广算法 a.图像旋转 b.图像亮度调整 c.图像裁剪及拼接 实验分析 本章小结 前言 图像增广算法在计算机视觉领域扮演着至关重要的角色。随着深度学习的兴起,大规模数据集的需求变得更加迫切,而图像增广算法可以通过对原始图像进行一…

手把手教你安装PaddleDetection(最新CUDA11.7版本)

前言 本文记录一下在linux系安装PaddleDetection的过程,使用Conda的方式来安装; (尝试过docker的方式,无法获取镜像;尝试过pip的方式,提升找不到库;最终使用Conda成功安装了。) 目…

什么是中国版软件能力成熟度之CSMM

当前,中国软件产业蓬勃发展,产业增速迅猛,发展韧性和潜力进一步凸显。由于我国长期缺乏相关的自主标准,20多年来国外标准在我国软件评估领域占据主导地位,不仅阻碍了我国自主产业发展,甚至通过评估等手段可…

【STM32CubeMX项目】小时钟V1.0

前言 基于STM32CubeMxSTM32F103C6T6编写时钟功能。现在以及能实现时钟的简单功能,做文记录下。还有很多可以改进的地方,也算留下的基础版本下来备份吧。我愿称之为V1.0版本。可供学习参考。 实物 引脚接线: OLED STM32F103 SCL --> PB8 SD…

使用JS手动实现SementicUI的分页,解决页数过多的问题.

自己使用SemanticUI官网的分页组件, 但是有很多细节问题并没有解决方案,如果只是需要而分页,将页数渲染在分页组件上的话,那倒很简单,但是页面有很多的话,假如100页,那么整个tbody会随着tfoot…

C# PDF附件生成

最近项目上需要生成行业某证件,查阅了一下,大体有两个思路可以实现 1.图片格式 2.PDF格式 使用图片格式,GDI绘图的形式,GDI绘图相关库资料比较多,难度也还好,问题是生成的证不是很好看,看上去…

ESP32学习笔记 -- ESP32-S3使用自定义分区表

什么是分区表? 分区表(Partition Table),主要是用来对ESP32-S3外挂的SPI FLASH进行区域划分的一个表格,通过这个表格,可以根据多个不同的功能,将SPI FLASH划分为不同的区域,方便开发者存储数据。 分区表主要有两种格式,一种是方便开发人员进行更改的.csv格式,一种是…

【Spring框架全系列】初识Spring MVC(上)

🌃哈喽,大家好,我是小浪。接着上篇博客,我们学习了springboot配置日志文件,到此,那么springboot的内容也更新的差不多了,由于是初学阶段,所以不学习那么深入,那么我们学习…

数据结构:单链表增、删、查、改的实现

1.概念 链表是一种 物理存储结构上非连续 、非顺序的存储结构,数据元素的 逻辑顺序 是通过链表 中的 指针链接 次序实现的 。 2.形式 我们使用链表一般都是创建一个结构体。 typedef int SLTDataType; typedef struct SListNode {SLTDataType data;struct SListN…

USB2.0 HUB的MTT与STT

HUB:集线器 以前呀,我也不清楚MTT与STT的区别,记得有一次选型的时候,很懵逼,结果还是按照以前同事的方案去选了,到后面想起来才抽空整明白了。 所以今天就来说下USB HUB里面的MTT与STT,并在文…

【GO】31. websocket实现

一. 引入gin、gorilla websocket包 go get github.com/gin-gonic/gin go get github.com/gorilla/websocket 二. 服务端代码 package mainimport ("bytes""fmt""github.com/gin-gonic/gin""github.com/gorilla/websocket""log&…

从字节出来的测试总监,让我们用这份《测试用例规范》,再也没加班过。

经常看到无论是刚入职场的新人,还是工作了一段时间的老人,都会对编写测试用例感到困扰?例如: 固然,编写一份好的测试用例需要:充分的需求分析能力 理论及经验加持,作为测试职场摸爬打滚的老人&…

RobotStudio教程:ABB机器人TCP路径轨迹跟踪功能介绍与使用方法

目录 功能介绍 机器人工作站创建 TCP路径轨迹全局跟踪 基于事件管理器的TCP路径轨迹局部跟踪 基于Smart组件的TCP路径轨迹局部跟踪 仿真运行 功能介绍 干涉检查是虚拟仿真工作中非常重要的一个步骤,尤其是机器人工具与工件、工装夹具之间的碰撞干涉&#xff…

Java高阶数据结构 图的最短路径问题

图的最短路径问题! 文章目录 Java高阶数据结构 & 图的最短路径问题1. Dijkstra算法【单源最短路径】1.1 Dijkstra算法证明1.2 Dijkstra算法代码实现1.3 堆优化的Dijkstra算法1.4 堆优化Dijkstra算法代码实现 2. Bellman-Ford算法【单源最短路径】2.1 BF算法证明…

常见的基础模块电路,你都能看懂吗?

文章开始前,先来考考大家~ 下面的五副电路图,你能看懂几个? 目录 01.电源电路 02.运算放大器电路 03.信号产生电路 04.信号处理电路 05.传感器及其应用电路 06.显示电路 TDA2030电路图 34063电路图 555电路 TDA2030电路图 三极管分立元…