安装VMware 16 Pro

从B站上找到了资源:VMware Workstation 16 Pro以及序列号,完成了安装。

下载Ubuntu 22.04的镜像文件并安装

从官网下载,在VMware Workstation 16 Pro上新建虚拟机,导入ISO文件,软件能够自动检测到是Ubuntu。

安装VIM

这里需要率先了解Linux下的命令行常见命令。

1
sudo apt install vim

安装插件管理器 plug-in

vim vim-plug插件安装及使用 - ༺潭水无风༻ - 博客园

安装插件 vimtex

尽管我已经能够体验到纯正的vim了,但在这里我还想要尝试一下桌面管理器bspwm,尝试模仿给出一个高效又美观的开发平台。

这里推荐参考vimtex的 参考文档

有时面对这样一个庞大的系统,真不知道从何下手呢。上面的文档解决了我遇到的设置conceallevel后,隐藏的公式会有灰色的高亮(heighlight)的问题,这不美观,于是我从上面的文档中找到了heightlight组,设置了conceal部分的heightlight相应需要改动的部分为NONE,即无高亮。

安装bspwm

bspwm通过bspc在登录界面选择显示器,实现窗口管理器的功能。
这是一个大工程,我在YouTube上找到了一个直播的录播视频,博主完整地记录下了自己如何安装好bsqwm和polybar的全过程,并做了一定的美化。我看了视频的大部分内容。

How to Install and Rice BSPWM With Polybar - YouTube

后来找到一个更为详细和美观的教程,非常推荐观看,完整地配置了bspwm, polybar, application launcher等,还修改了配色。

bspwm: How To “Rice” Your Desktop - YouTube

安装picom用以美化bspwm

其实我只是想窗口能够出现“毛玻璃”或是有一定的透明度。从GitHub上看指导,直接从源码上安装。
GitHub - yshui/picom: A lightweight compositor for X11
配置picom,先是问ChatGPT无果,确实有一派胡言的样子,接着发现一个很好的文章,介绍了常用的功能的配置方法,我觉得对于像我这样的新手而言,一顿猛抄和模仿不失为更好的做法。
Attention Required! | Cloudflare

中文输入法

使用ibus作为引擎,然后发现自带了intelligent pinyin,按 super+space 可以切换输入法
起初,我使用的是kitty作为命令行,但发现不能够输入中文,哪怕我切换到拼音也不行。后来改用qterminal作为命令行,就可以了。
注意:使用qterminal后,可以右键在preference中更改透明度,但也需要安装picom。

安装rofi

使用rofi来启动其他应用,设置了configuration如下

1
@theme "gruvbox-dark"

效果如下(为了防止与中文输入法切换的按键 super+space冲突,我设置调用rofi的快捷键为 super + shift +a

01

修改命令行的文字配色

我修改了环境变量PS1,这个变量的取值与命令行显示的内容有关

alex@alex-virtual-machine:

对应:${debian_chroot:+($debian_chroot)}[\033[01;32m]\u@\h[\033[00m]:

我删去了\h,改为>
于是这部分现在显示为
alex>:
注意到.bashrc中有一段代码长这样:

1
2
3
4
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m \]\u>\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '

而此时我在bspwm打开的命令行是没有丰富的颜色的,即

alex@alex-virtual-machine:

是纯粹的白色,准确说是黑底白字。于是怀疑是这里的判断导致的差异
删去这个判断
确实成功了,但是会提示bash export: “–corlor = auto”, not a valid identifier…
报错原因是我

1
if [ -x /usr/bin/dircolors ]; then test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" && alias ls='ls --color=auto' # alias dir='dir --color=auto'

的末尾处原本应该有&&,就是在alias ls=’ls –color=auto’前的那部分,但我将它删去了,所以导致运行.bashrc时认为给”–color = auto”赋值了。
成功解决!参考了:

Linux中 PS1 的用法-亲测有效
bash - How to fix “not a valid identifier” error after setting environment variables? - Ask Ubuntu

目前效果如下:
02

配置ultisnips

这配置起来确实很轻松,依照官网即可,下面的博客介绍了使用vim-snippets作为代码块的集合,是个很好的办法。很喜欢作者说的“这个世界上总是有一批又懒又聪明的程序员。”

Vim 插件:UltiSnips 让 Vim 飞起来 · Ruby China (ruby-china.org)

关于自己创建一些snip,可以参考下面

VIM 代码片段插件 ultisnips 使用教程 (keelii.com)

真香。

vim 自动补齐括号

vim plugin - Automatic closing brackets for Vim - Stack Overflow

参照了该回答中直接修改.vimrc映射键的办法,挺好。

vim 反向搜索

安装tutorial配置vimtex时,它说vim 版本过低可能导致 -clientserver,即没有启动这个服务,但我使用的是vim 8.2,必然足够版本,并且在命令行下应该可以使用反向搜索。查找后发现是一个bug,见

How to install vim with +clientserver on debian? - Vi and Vim Stack Exchange

sudo apt install vim-gtk

安装这个包后,重启一次,输入 vim –version,真的出现了+clientserver!