笔者此前几乎没有vim使用经验,也没有安装过linux虚拟机,偶然在b站上看到TheCW的视频,遂惊异于linux和vim配合的巧妙与vim配置和fish shell等结合的惊艳。决定从零开始对其进行研究,并将学习路线和遇到的障碍及解决方式记录下来。在配置fish shell 和 i3的时候会用到一些最简单的vi语法,读者可以先在这里学习一些最简单的vi和vim操作,大概很快就能上手vim。
- 本博客最新更新于 2021年11月14日
- 一、前言
- 二、虚拟机安装和系统盘双系统安装
- 1.安装VMware16
- 2.制作系统盘安装双系统
- 三、安装vim,fish和oh-my-fish
- 0.在安装之前一定要换源
- 1. 安装vim
- 2. 安装fish
- 3. 安装oh-my-fish(并解决443错误和证书错误)
- 四、配置喜欢的fish样式,使shell更好看
- 五、用FileZilla给虚拟机里的linux传文件
- 六、i3安装及一些基本配置
- 1. i3的安装
- 2. 进入i3
- 3. 使i3更好看
- (1)安装alacritty,用显卡来渲染i3,并安装dmenu
- (2)将alacrity设为默认
- 七、改键位
- 八、用快捷键打开浏览器
- 九、窗口的快捷键
- 1. 打开(分割)窗口
- 2. 退出窗口
- 3. 切换窗口
- 4. 窗口大小调整
- 十、i3的初步美化
- 1. 边框的处理
- (1)虚拟机全屏和独占模式
- (2)改变终端外围的蓝色边框宽度
- (3)边界收缩
- 2.主题切换
- (1)下载lxappearance来管理主题
- (2)主题配置
- 3.给界面加一个壁纸
- (1)下载feh和variety
- (2)壁纸演示
- 4.代码的大小和字体设置
- 5.分辨率设置
- 6.显卡驱动设置(暂时搁置)
- (1)输入screenfetch命令
- 7.用背景不透明度设置
- (1)给alacritty加不透明度配置
- (2)picom渲染(参见第十二章-毛玻璃特效)
- 8.配置壁纸,让壁纸能自动更新
- 十一、一些日常软件的下载和配置
- 1.中文输入法
- 2.截屏软件
- 十二、i3的进一步配置
- 1.用polybar美化状态栏
- (1)去掉原有状态栏
- (2)下载polybar并配置
- (3)下载并安装其它主题
- (4)给新主题设置自启动
- 十三、picom(compton的新名字)与毛玻璃特效
- (1)picom
- 十四、xfce会话的美化
- 十五、kde版本
- 0.体验
官网安装较慢,我是在网上某个软件园用下载器下载的,但是那个可能会有广告进电脑里面,这里还有一个网盘下载的方式[VMware 16 pro](https://pan.baidu.com/wap/init?surl=jLFy9A3zzCHM3T53W4mnag) 提取码是:knxg
- 安装好后是30天的试用期,笔者购买了激活码,也可以在淘宝上购买验证码和远程安装服务。如果是在校学生的话,可以咨询一下教网络的教授之类的。
- 在官网上下载manjaro的iso文件,笔者下载的是xfce版本官网下载链接。笔者直接用迅雷加速下载,感觉速度比较快,此外还可以用清华等的镜像进行下载。
- 安装方式笔者参考的是这篇文章:VMware虚拟机下Manjaro20.0安装教程
制作系统盘笔者用的是Rufus官网链接,详情可以参考如下文章和视频:
win10环境下安装manjaro kde 双系统(安装篇)
【教程】如何安装Manjaro双系统?
笔者换的清华的源
首先用其自带的nano编辑pacman的配置文件`sudo nano /etc/pacman.conf
然后在最下面加上如下代码即可:
[archlinuxcn] SigLevel = Never Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
记得输入
1. 安装vimmanjaro的一大优势是可以用sudo pacman -S来安装非常多的文件。
以vim为例,只需要输入
sudo pacman -S vim2. 安装fish
#安装fish sudo pacman -S fish #将fish设置为默认shell chsh -s /user/bin/fish3. 安装oh-my-fish(并解决443错误和证书错误)
理论上讲,应该用curl -L https://get.oh-my.fish | fish
但是执行这个命令之后,笔者的manjaro报了两个错误,第一个是443错误,这个错误比较好解决,详见:使用 curl 命令出现 Failed to connect to XXX port 443: 拒绝连接
另一个错误的报错信息如下:
curl: (60) SSL certificate problem: unable to get local issuer certificate... ... ...
笔者在网络上查阅大量资料之后,按其指示的方法尝试了一天也没有解决。直到笔者跳出问题本身思考:**自己应该要解决的不是某个具体的错误,而是要安装好oh-my-fish。**基于这个重要思想,笔者放弃了原来的安装方式,直接进行离线安装:
git clone https://github.com/oh-my-fish/oh-my-fish cd oh-my-fish bin/install --offline
这中间又遇到一个新的问题,通过git config --global http.sslVerify "false"解决
安装完oh-my-fish后的效果展示:
这是让linux终端好看的一个关键之一
直接键入fish_config即可进入一个浏览器页面,在其中选择即可。
首先参考了FileZilla正确连接虚拟机方法,但是这篇文章针对的是ubuntu等linux系统,这时的另一个重要方法论就是:关注目的和结果而不是关注具体代码,比如其它很多linux查ip的方式都是ifconfig,但是ifconfig在manjaro中却是无效的。这时候应该关注我们的目标是查ip,所以应该检索如何在manjaro中查ip地址,得到应用ip addr指令,从而查到ip。同理针对ssh服务的配置也不应直接搬其它文章的代码,而是找到manjaro是如何配置ssh的,可以参考Manjaro打开ssh功能以及root ssh.
六、i3安装及一些基本配置 1. i3的安装如图所示:
直接回车全部选择即可
重启之后,在输入密码登录之前,在右下角选择i3,如图所示:
然后出现选择框进行默认配置,按回车即可
进入i3之后,按Windows+Enter键可以进入终端页面,如图所示:
- 编辑config文件
把原有的注释掉(最好别删,这样以后可以恢复),然后添加一行新的代码,如图所示。
笔者的键盘是五行排列式,control在中间,且windows键也在左边,此外还可以进行物理改建,所以不存在改键位的需求,这里暂且按下不表。
八、用快捷键打开浏览器- 安装xorg
3. 启动快捷键
再次进入i3的配置文件,在前面修改过的位置下加一行即可
这样按windows+c就会启动浏览器了,如图所示:
窗口的快捷键依然可以通过前面的config文件来自定义,下面对一些快捷键进行解释。
1. 打开(分割)窗口第一个是水平分割,第二个是竖直分割。2. 退出窗口
默认是windows键(也就是mod功能键)+shift+q
3. 切换窗口4. 窗口大小调整
大意是先按windows+r键之后,会进入resize模式,然后按一些键可以调整窗口的大小,比如
j键压缩(shrink)窗口的宽度,k键增加(grow)窗口的高度等
渲染:因为i3是一个扩展性强的轻量级的框架,它需要优先满足更普遍情况的需求,所以它的界面比较简单。如果需要让它变得美观,就要用显卡对其进行渲染。
1. 边框的处理 (1)虚拟机全屏和独占模式
在这里可以进行屏幕的设置,可以选择全屏。全屏后上面仍然仍有悬浮选项卡,可以在“查看”中进入独占模式从而将其关闭,但进入独占模式前一定要记得其退出方式为control+alt.
依然是在config里面加代码
然后可以明显地看到边框变细了很多,如图所示:
首先下载i3-gaps,然后在i3的配置文件最下面加上gaps inner 15
(后面觉得虚拟机屏幕较小的情况下,15有点太大了,)
2.主题切换 (1)下载lxappearance来管理主题安装完成后直接启动即可
(2)主题配置
演示了很多次下载了,这里就不截图了
(2)壁纸演示 4.代码的大小和字体设置可以从上图中看到,在进入alacrity之后,有些字母似乎粘在了一起,有些却离得很远,可以通过调整代码的大小来解决。
应该为其创建配置文件,配置文件的位置应为:
~/.config/alacritty/alacritty.yml
系统是没有自带这个文件的,需要自己创建,但是在以下位置有一个这个文件的备份(权限是只读),可以拷贝到上面的位置里
/usr/share/doc/alacrity/example/alacrity.yml
如图所示,先找到配置文件位置,直接在文件系统里找,注意.config 是隐藏文件,要按control+H,目标位置如图所示:
然后找到备份的位置,将其拷贝到目标位置之后,更改其权限,如图所示:
然后回到i3(如六.2)(可以通过reboot操作重启)
用vim进入配置文件
vim ~/.config/alacritty/alacritty.yml
注意修改的时候,不能只修改size,要连带前面的font一起取消注释才有效。如图所示:
上图对应取消注释的地方取消了注释,具体设置可以根据读者自行需要进行设置,笔者的字体使用的是Source Code Pro,即把这几个的family后面的monospace改为Source Code Pro即可。
完成效果如下图所示,不再出现字母粘连的情况:
在前面窗口调大之后,发现字稍微有些模糊,这是因为分辨率和屏幕分辨率不对应导致的,这时应调整manjaro的分辨率
笔者的电脑分辨率是1920*1080
笔者的设置是144,设置完成后按windows+shift+r刷新一下即可
发现这里GPU出现异常,和笔者笔记本的GPU不配套,需要先解决驱动的问题。
7.用背景不透明度设置 (1)给alacritty加不透明度配置和修改字体一样,进入alacritty配置文件,然后找到background_opacity,将其取消注释,然后设置为0.6
(ps:0.8也可以)
还是经典的下载方式,下载好之后依然要进行配置,同理配置文件需要拷贝和改权限。
备份文件还是在之前类似的位置,如图所示:
然后还是在.config下创建picom文件夹,然后粘贴过去,然后重命名去掉最后面的example,并把文件改为读写
配置完成之后,目前是打开picom但没有任何反应,还在处理当中
笔者执行variety后报如下错误:
虽然主页上还是显示出了北极熊壁纸,但是无法自动更换。可以看到是没有装上slideshow
访问github查看作者给出的文档:
最后发现这应该是个有关版本问题的误报,直接退出i3在xfce模式下打开variety即可正常打开,如图所示:
在下面的图片栏,可以选择从什么源获取图片,笔者只选择了NASA的每日一图。
设置后如下图所示:
在i3的配置问价中加入exec always variety即可每次打开i3就能使用了
需要安装fcitx 和fcitx-im,还要安装fcitx-configtool
然后本来打算直接在i3终端安装,结果显示找不到搜狗拼音,原来是和搜狗不兼容,下载别的就好了
然后vim ~/.xprofile进行配置,如图所示:
重启后进入xfce会话,在右下角有输入法配置可以在里面配置快捷键,如图所示:
系统自带Spectacle工具,可以为其设置快捷键
i3会自带一个工具栏显示在最底部,如图所示:
如果不喜欢这个工具栏的话,可以执行以下命令将其删掉
sudo pacman -R i3status
不过笔者执行完之后只是删掉了里面的文字。
考虑开机自动隐藏i3status
在i3的config里面检索i3status,然后将其注释掉即可
接着我们下载polybar,然后对其进行配置
依然是从share里面拷贝一份它的配置文件放到我们用户的home下面
首先重新进入到xfce会话,在文件系统里面找到polybar提供的配置文件备份
然后在home下的配置文件夹里面,新建一个polybar文件夹,将这个config文件粘贴进去,并改名和更改权限。
然后要使用polybar还需要创建一个polybar.sh文件,笔者将其放在了i3目录下。
可以先在windows下新建一个txt文件,里面写入:
killall -q polybar while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done polybar example
这里默认的是配置文件自带的example主题,可以在配置文件中自己定义主题来用
然后将其扩展名改为sh,再用filezilla传到虚拟机里面。
然后修改i3的配置文件,将polybar设置为自启动。
(3)下载并安装其它主题如果觉得其自带的example不好看,还可以下载一些其它的主题,首先将主题克隆下来,如图所示
进入polybar=themes文件,查看一下里面都有什么
进入里面自带的setup.sh,然后借助这个setup.sh脚本来加载主题,在home下执行以下代码
cd polybar-themes chmod +x setup.sh
然后
./setup.sh
选择1
然后再返回到polybar文件夹下,输入
./launch.sh
会显示已经下载了的主题
选择一个执行即可,比如:launch.sh --cuts
以forest为例,效果如下:
因为前面的git clone操作,导致前面转移好的配置文件丢失了,这是个很大的错误!(可能linux的开发者们预见到了可能会有人犯这样的错误,于是笔者的原有的polybar文件夹被自动重命名为polybar.old从而得以保存,先重新转移一遍配置文件。
然后在polybar文件夹下,每个主题里都自带有launch.sh,只需要将其放到i3的自启动里面即可
记住这个目录,然后在i3的配置文件里面加入这个launch
这是设置完成后重启i3之后的状态
一般来讲,我们使用linux时通常处于“窗口”状态或者“终端”状态,对于“窗口”状态的美化笔者会在“xfce会话的美化”章节进行介绍。窗口状态通常会自带渲染器,而终端状态需要自己下载渲染器。在第十章我们已经下载好了一个名叫"picom"的渲染器,现在我们会对其进行配置。
卸载掉前面下载的picom,从github上面下载picom
在github上看它都需要什么依赖库
这些是需要提前装好的
然后查阅github文档,进行build
要先安装好meson,ninja,再编译
meson时报错,因为没有装C++和C的编译器,解决办法是安装GCC编译器,直接用pacman安装即可
装好编译器后,再次报错,没有安装uthash,安装之后重新编译
这样meson这一步就完成了,接下来调用ninja指令
ninja执行成功
然后进行安装install
运行picom出现报错
这与N卡有关。
笔者体验了一段时间的虚拟机之后,感觉虚拟机的功能还是有限,于是就之间将manjaro装在了笔记本里面,这次用的是kde版本,概览如下,非常优美:



