BNU-FZH

fengzhenhua@outlook.com

2023年09月28日星期四晴北京市北京师范大学, 今天升级了Neovim的插件,同时又想起来解决一个彩虹括号的问题,因为在写程序和LaTeX的过程中,会出现好多配对的括号,在vim中有一个彩虹括号的插件vim-rainbow 这个功能十分诱人。但是切换到Neovim 后发现我还一直没有尝试成功,期间也努力试过,直到今天终于成功了。问题在于当初安装了nvim-treesitter, 但是要想实现对某种语言的高亮需要下载安装指定的语法模块,这个安装程序依懒nvim-treesitter-cli, 之前就是没有安装这个nvim-treesitter-cli 才导致一直没有实现这个功能。另外也可以借助Aur助手来安装高亮语言包,但是经过考虑还是选择了在Neovim内部处理的方案,唯一的缺点就是有时候访问Github不是很稳定,直接后果就是安装这些语言包容易失败。但是经过努力,今天还是成功了!

安装nvim-treesitter-cli
1
sudo pacman -S nvim-treesitter-cli
而插件nvim-treesitter本身是通过包管理器packer来安装的,而不使用pacman安装。为了更好的学习使用这款插件,将nvim-treesitterREADME.md文件贴于此处。

阅读全文 »

今天升级了我的Vim插件,发现打开neovim后不能正常使用了,查看帮助信息发现,是因为自动缩进插件indent-blankline升级到了v3.0, 升级后按官方说法只适用于最新的neovim,于是将其仓库克隆后把README.md贴到此处方便参考。

Indent Blankline

This plugin adds indentation guides to Neovim. It uses Neovim's virtual text feature and no conceal

To start using indent-blankline, call the ibl.setup() function.

阅读全文 »

近期想编写一个脚本,方便书写LaTeX文档,原因是当需要写的LaTeX文件变的越来越多的时候查找和编辑最新的文件就是一个问题了,同时在不同电脑上编辑一个LaTeX文件也会出现不同步的问题。虽然我们可以通过上传到gitlab仓库解决同步的问题,但是由于每次编写文件时都要逐步查找和Pull文件,写完之后又要Push, 这些重复的工作显然需要自动执行效率都会提高。这个脚本的目的就是来统一管理和简化使用vim写作的步骤。

目录的取得

由于系统语言的问题,默认保存目录的名称会有一些不同,但是规范的做法是将对应的文件保存到指定的位置。于是需要做的第一个工作就是取得正确的目录名称,当然我们可以使用ls -l 来查询目录,然后保存到一个变量中,也可以根据echo $LANGE变量先取得语言,当然我们一般只需要在中文和英文之间做出选择,然而这个方法却不是最佳的,因为如果增加支持的语言的话程序代码会相应增加。经过考虑,使用系统的目录变量是一个正确的选择,我使用提ArchLinux+Gnome3,这些默认的语言配置位于于~/.config/user-dirs.dirs

~/.config/user-dirs.dirs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run.
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
#
XDG_DESKTOP_DIR="$HOME/桌面"
XDG_DOWNLOAD_DIR="$HOME/下载"
XDG_TEMPLATES_DIR="$HOME/模板"
XDG_PUBLICSHARE_DIR="$HOME/公共"
XDG_DOCUMENTS_DIR="$HOME/文档"
XDG_MUSIC_DIR="$HOME/音乐"
XDG_PICTURES_DIR="$HOME/图片"
XDG_VIDEOS_DIR="$HOME/视频"

2023年09月15日星期五晴北京市北京师范大学, 在ArchLinux下使用pacman可以很方便的安装软件,但是一些官文源内没有且使用aur源也无法找到的软件就需要到软件官网下载对应的软件包,这里一个很方便的格式就是appimage, 原则上下载下软件包后赋与执行权限后就可以运行了,对于偶尔使用一二次的软件这个方法很省心,但是对于经学使用的软件则不方便,于是本文记录将appimage安装到gnome启动器的方法。

解压AppImage

AppImage格式是一种标准的Linux软件包格式,对于软件的.desktop文件和icon图片必须在包内指定位置,于是想要安装软件到启动器中,就需要先解压AppImage后取得.desktopicon文件。即

解压AppImage
1
alixby-3.23.62819-linux-x86_64.AppImage  --appimage-extract
阅读全文 »

2023年09月15日星期五晴北京市北京师范大学, 今天我的gitlab上配置的ssh密钥已经过期,所以需要重新配置一个新的密钥。于是重新一下ssh密钥

生成密钥

修改密钥存放目录.ssh权限

在生成密钥的存放时要注意,我今天多次测试不能保存,原来是.ssh目录所属权给了root而不是feng,于是修改了一下权限,即

修改.ssh的拥有者和组
1
2
sudo chmod feng ~/.ssh 
sudo chgrp feng ~/.ssh
阅读全文 »

2023年09月08日星期五雷阵雨北京市北京师范大学,打算尝试一下Archlinux下的新的Aur助手,安装命令为

paru
1
sudo pacman -S paru

详细用法参见: paru 进阶教程

使用paru安装软件时,首先解决github.com无法访问的问题,此参见: 解决ArchLinux使用yay或paru安装软件时从Github下载慢或不可下载的问题

为了避免每次下载时都进入审阅模式,请执行命令:

skipreview
1
paru --skipreview -S foobar

阅读全文 »

2023年08月12日星期六阴北京市北京师范大学, 离京前发一篇文章,以方便后面工作的需要。

绘图线型

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
'.'       point marker
',' pixel marker
'o' circle marker
'v' triangle_down marker
'^' triangle_up marker
'<' triangle_left marker
'>' triangle_right marker
'1' tri_down marker
'2' tri_up marker
'3' tri_left marker
'4' tri_right marker
's' square marker
'p' pentagon marker
'*' star marker
'h' hexagon1 marker
'H' hexagon2 marker
'+' plus marker
'x' x marker
'D' diamond marker
'd' thin_diamond marker
'|' vline marker
'_' hline marker
阅读全文 »

在使用 Neovim 后发现,配置好主题及底部状态栏后确定好看好用多了。于是在没有最终确定抛弃 vim 时,选择配置好 vim ,但是所有的文件都写入到 ~/.vimrc文件中,会影响vim的启动速度,于是这个问题的解决方法就是,将配置好的主题一并列在本博客,而在配置文件中只给出链接。

阅读全文 »

2023年08月02日星期三阴北京市北京师范大学, 前面文章写了一个克隆git仓库子目录的方法,此篇文章记录单独克隆一个仓库中子文件的方法。

克隆仓库中子文件
1
2
VimCFG=~/.vimrc
curl -o $VimCFG https://gitlab.com/fengzhenhua/script/-/raw/main/vimrc\?inline\=false

2023年08月02日星期三阴北京市北京师范大学, 为了保证 Neovim 的配置自动同步到 gitlab,再另外的机器上再同步升级配置和插件,这就需要将配置的子目录单独克隆到配置目录~/.config中,在网络上找到相应的方法,现记录于此方便大众。

clone 仓库的子目录
1
2
3
4
5
6
cd ~/.config/
git init # 初始化仓库
git remote add origin git@gitlab.com:fengzhenhua/neovimconfig.git #增加远程仓库
git config core.sparsecheckout true # 设置Sparse Checkout 为true
echo "nvim" >> .git/info/sparse-checkout # 将要克隆的目录下的子目录nvim加入
git pull --depth 1 origin main #pull 下来代码

注意:在上述代码中的第5行,nvim 是相对于目录 git@gitlab.com:fengzhenhua/neovimconfig 而言的,也就是完整目录应当为git@gitlab.com:fengzhenhua/neovimconfig/nvim 。 若是在nvim下的lua目录,则应当写为nvim/lua 做对应的取代。

参考文章:git clone仓库的一个子目录