前言
如果你使用dwm这个窗口管理器,那你肯定知道st,一个短小精悍的终端,也是dwm的默认终端,是suckless社区开发的终端,整体十分轻便快捷,但是默认的st十分简单,简单到连历史翻页都没有,不过这些都是可以通过打补丁的方式来扩展和自定义你的st,所以本篇博文我会教你从零开始配置一个短小精悍的终端-st
下载
首先我们肯定有先把他下载下来,我们使用git工具把他克隆到本地:git clone https://git.suckless.org/st
克隆完成进入该目录,可以看到很多文件,我们主要修改的是config.def.h文件,虽然在第一次编译安装后产生的config.h也可以配置st,但是很多补丁在添加快捷键和变量时都是修改config.def.h文件的,如果修改config.h来配置,那每次打好补丁都要自己手动添加快捷键什么的也太麻烦了,相比之下直接修改config.def.h文件就比较方便了,但是需要注意的是,st在应用配置时是使用config.h的,所以在修改好config.def.h后记得执行rm -rf config.h把之前的配置删除,比如编译安装后还是之前的配置,那我们先不着急修改配置,我们先下载补丁,因为没有补丁的st能修改的也就几个
打补丁&补丁推荐
那么我们先在该st目录下新建一个叫patches的文件夹,方便以后的补丁管理,不然你总不能把补丁直接下载到目录下面吧,那得有多乱,我们使用命令新建文件夹:mkdir patches
文件夹创建好后我们就要下载补丁了,不过在此之前你也可以试试我的st配置(st配置在文件st里):
https://github.com/Aidens-fox/dwm
- st-font2
一个可以添加备用字体的补丁,因为我英文文喜欢JetBrainsMono字体,中文布局喜欢Sarasa Mono SC(更纱黑体),但是默认st只支持一个字体这个插件很好的解决了这个问题
下载链接: https://st.suckless.org/patches/font2/
因为补丁是会更新版本的,所以我就直接贴出下载页面了,我们只需要选择新版本然后鼠标右键选择从链接另存为文件,选择刚才创建的patches文件夹,下载完成后直接使用patch命令来打补丁:patch < patches/st-font2-0.8.5.diff
打好后看看有没有产生config.def.h.rej,如果有就说明要手动添加或删除一些代码,我们打开config.def.h配置font2:
1 | // 默认字体 |
修改完成后在编译安装(如果你在打补丁之前编译安装了,记得把config.h删除了,然后建议每个补丁安装配置完成后都编译安装看看有没有什么问题)sudo make clean install
- st-colorschemes
这个补丁添加了多种配色方案,只需要使用默认的alt+1~8即可切换配色方案,在原版的st只有一个很刺眼的配色(个人),没有Gruvbox那种柔和的感觉
下载链接:https://st.suckless.org/patches/colorschemes/
选择完成后还是使用patch命令来打补丁patch < patches/st-colorschemes-0.8.5.diff
打好后看看有没有产生config.def.h.rej,如果有就说明要手动添加或删除一些代码,我们打开config.def.h配置colorschemes,主要是配置默认的配色方案
1 | static const ColorScheme schemes[] = { |
修改完成后在删除config.h文件来编译安装看看有没有问题:sudo make clean install
scrollback-reflow-standalone
这个补丁集成了集成历史的 st 的独立滚动回滚和回流实现存储、鼠标滚动、选择处理和调整回流大小统一
下载链接:https://st.suckless.org/patches/scrollback-reflow-standalone/
使用patch命令来打补丁:patch < patches/st-scrollback-reflow-standalone-extended-0.9.3.diff
打好后看看有没有产生config.def.h.rej,如果有就说明要手动添加或删除一些代码,修改完成后在删除config.h文件来编译安装看看有没有问题:sudo make clean installcopyurl
这个补丁用于复制URL,默认快捷键alt+l,有多个版本可下载,根据自己需求下载
下载链接: https://st.suckless.org/patches/copyurl/
使用patch命令来打补丁:patch < patches/st-copyurl-20190202-0.8.1.diff
打好后看看有没有产生config.def.h.rej,如果有就说明要手动添加或删除一些代码,修改完成后在删除config.h文件来编译安装看看有没有问题:sudo make clean installclipboard
这个插件为st添加了更现代的复制粘贴快捷键,也就是ctrl+c和ctrl+v
下载链接:https://st.suckless.org/patches/clipboard/
使用patch命令来打补丁:patch < patches/st-clipboard-0.8.3.diff
打好后看看有没有产生config.def.h.rej,如果有就说明要手动添加或删除一些代码,修改完成后在删除config.h文件来编译安装看看有没有问题:sudo make clean install