【arch linux】字体安装,配置终端,配置vim的python环境

字体安装

选择fcitx进行安装,qt版本选择qt5:


sudo pacman -S fcitx fcitx-qt5

或者可以使用工具集合fcitx-im进行安装:


sudo pacman -S fcitx-im

完成后系统中出现输入法与输入法配置,输入法配置可以以vim形式打开,为了方便管理,安装配置工具configtool:


sudo pacman -S fcitx-configtool

重新打开输入法配置以后发现已经变成图形界面了,试着添加汉语键盘,但是依旧无法输入中文,

需要重新安装中文输入法,个人测试googlepinyin是无法使用的,推荐libpinyin,除此以外还有:fcitx-sunpinyin,fcitx-rime,fcitx-sogoupinyin,fcitx-cloudpinyin,fcitx-chewing,fcitx-baidupinyin,fcitx-table-extra,这里选择安装libpinyin:


sudo pacman libpinyin

按照arch wiki中所说在~/.pam_environment创建文件:


vim pam_environment

按~a~或者~i~进入编辑模式:


GTK_IM_MODULE DEFAULT=fcitx

QT_IM_MODULE DEFAULT=fcitx

XMODIFIERS DEFAULT=\@im=fcitx

注意不要空格,且不要乱写在其他文本上,~esc~键退出编辑模式后输入~:wq~保存并退出

对右下角fcitx的小键盘进行重新启动,再次打开配置后会发现多了三个输入法。

我选择只留下pinyin(LibPinyin)键盘-汉语,顺便可以偷偷修改一波键盘布局显示国旗(PS:个人尝试过在设置中的配置布局将US的标签删除掉,结果国旗直接不显示了)

在附加组件中找到LibPinyin,配置调整好后可以在搜索附加组件后随便打几个字,应该是能够正常使用的,右键小图标可以调整皮肤,我选择了Dark,在全局配置中关掉~启用输入法间切换~,在~窗口见共享状态~选择所有

基本配置全部选择好以后重启,重新开机后设置随便输入法应该就能正常运行了。

刚开始可能会有点问题,比如~左shift~无法切换输入法,用各种方式反复切换一下输入法,过一会儿应该就能正常切换了。

配置终端

终端模拟器选用的是konsole,我比较中意sakura,但是konsole配好以后感觉挺骚气,而且配置简单。arch wiki网站上其实写得很清楚,

sudo pacman -S konsole

安装好以后程序是无法直接配置颜色方案的,或者说配置好以后打开其他终端又恢复成默认了。 进入到隐藏文件夹中找到终端位置设置环境变量:

cd .local/share/konsole
vim konsole.profile

这里新建了一个konsole文件,后面的配置将在这个文件中实现。~a~或者~i~进入编辑模式:

[General]
Name=konsole
Environment=TERM=konsole-256color,COLORTREM=truecolor

~esc~退出编辑模式,使用~:wq~保存并退出,重新打开终端进入配置方案,可以发现出现了新的方案,对其进行编辑,完成后将konsole设置为默认,完成后重新打开终端可以发现已经设置完成了。

配置python

相信pacman,做到这里的时候因为犹豫,走了一些歪路,最后拿着一堆乱七八糟的库完全不知所措,果断恢复了一波备份。 没记错的话python可以直接用pacman -S下载:

pacman -S python

我装了目前的最新版:python 3.10.8,作为一个常年在玩python的废物,我当时习惯性地输入了一句pip list,发现竟然没有这个东西。 pip是需要单独安装的,于是当时我大脑突然下线打开了CSDN——arch,die(请使用大脑渲染灰色背景+红色字体特效) 据arch wiki解释pip会与pacman冲突,使用pipx的话可以建立一个孤立环境,但我测试了一下,pipx似乎不能使用pip的镜像,安装方式也有些微妙,所以选择安装pip,输入:

pacman -S python-pip

安装好后输入pip list,会出现一些不认识的库,大概是用pacman管理时留下的,为尽量避免冲突,如果能用pacman安装就最好不使用pip,比如sqlmap:

sudo pacman -S sqlmap

另外在pip输出结尾可能会有报错:

WARNING: There was error checking the lastest version of pip. (警告:检查最新版本pip时出错)

经过与win10安装版本对照可以发现pip已经是最新版本,且可以正常操作,为避免系统崩溃,我没有升级pip,奥卡姆剃刀原理,只要报错影响不大,就不要改出更严重的问题了(误)。

配置vim

其实我应该给大家推荐一个新的编辑器,比如最经典的vscode,轻量的kate,强大的Spyder,甚至哪怕是体验感最差的pycharm,对于资源过剩的现在,vim实在显得有那么一点不适合练习写代码,不过能想到来玩arch的人也应该属于那少部分的极客吧,所以现在依旧选择介绍vim。

语法高亮

从这里开始,arch wiki开始显得不是那么靠谱了,在网上也很难找到需要配置的文件路径。 首先是配置颜色高亮,官方提示语法高亮在defaults.vim中启用,经过寻找路径如下:

cd /usr/share/vim/vim90

进入每一级之前可以先用ls(或者dir)扫一下文件是否存在,使用vim进入文件:

sudo vim defaults.vim

需要更改的位置共有两处,

:filetype plugin off
:syntax off

分别将其中off打开为on,如下图所示: 方式同样为~a~或~i~进行编辑,~esc~退出编辑模式,~:wq~进行保存。展示一波随便写的颜色高亮后的python代码 顺便附上代码:

txt = 'welcome_to_arch'
a = 0.04
b = 0.09
print('\n'.join(
	[
		''.join([
			(txt[
				(x-y)%len(txt)
			    ]if(
				    (x*a)**2+(y*b)**2-1
			    )**3-(x*a)**2*(y*b)**3<=0 else' '
		    )for x in range(-30,30)
	    ])for y in range(15,-15,-1)
    ])
)
联想功能

同样使用pacman,这里推荐使用youcompleteme插件,除了python以外还支持c/c++,c#,go,rust,java等常用语言,可惜vscode的pylance似乎并没有开源,没有找到从vim中获取pylance的途径。

sudo pacman -S vim-youcompleyeme-git

完成后打开一个python文件,随便写几句代码试试 可以发现vim已经可以联想代码了,示例图中的代码来自【python】for循环对批量变量进行判别

crni0 = 0
crni1 = 0
crni2 = 2
read = lambda x:'crni' + str(x)
for i in range(3):
    if loacls()[read(i)] == 2:
        print('找到对应变量')
    else:
        print('非对应变量'.format(read(i)))

理论上能得到结果:

快速调试

按照很多教程所说在中是无法找到~/.vimrc的文件的,最多只有~/.viminfo,arch应该是故意去掉了这个位置的文件,就我而言没必要强行再把文件创建起来,以免出现一些不必要的问题。 首先解释调试原理,如果是写python文件,在vim的查看模式,或从编辑模式按~esc~键进入查看模式,可以通过输入:

:!time python %

进行调试,调整vim的脚本原理只需围绕这段代码进行即可。 引用一波arch wiki的话:

常用的功能,如语法高亮在defaults.vim中启用,当没有~.vimre(这里猜测是官方忘记打“/”了)时加载。

所以回到梦开始的位置:

cd /usr/share/vim/vim90
sudo vim defaults.vim

在最后另起一行:

map <F5> :call CompileRunGcc()<CR>
func! CompileRunGcc()
	exec "w"
	if &filetype == 'python'
		exec "!time python %"

代码来自如何使Vim下开发Python调试更方便?,出于个人需求,我只调用了其中的python与html文件调试,本文中只引用了python的一键调试运行脚本,但是if判别依旧存在,除此之外如果对“c”,“cpp”,“java”,“html”,“mkd”(应该是markdown格式)感兴趣可以在原文章中寻找调试方法。 完成后尝试打开一个python文件,笔记本用户注意键盘上~fn键~是否打开,为了方便,同样运行之前的test.py文件,注意使用~f5键~前需要~esc~退出编辑模式,按下后出现如下结果,测试成功。

vim·python·arch-linux
199 views
Comments
登录后评论
Sign In
·

在defaults.vim文件中直接写入

:set number

可以显示行号,本来觉得vim已经自带行数提示了,没必要再加一个多余的功能,但是后来自己还是配置上了

·

补救一下,当时写快速调试加了一个html网址,所以把后面的内容忽略了,if判别结束后还应该加上:

        endif
    endfunc