sed命令中使用外部变量
近几天需要编写一个写LaTeX的脚本,用来自动管理LaTeX文件,但是遇到了在sed命令中使用脚本的麻烦,百度之后解决问题,记录于此。
单引号中使用变量:将变量用
'"$var"'表示,即单引号+双引号+变量+双引号+单引号1
echo $(sed -n ''"$var"'p' $WMS_History)
近几天需要编写一个写LaTeX的脚本,用来自动管理LaTeX文件,但是遇到了在sed命令中使用脚本的麻烦,百度之后解决问题,记录于此。
单引号中使用变量:将变量用'"$var"'表示,即单引号+双引号+变量+双引号+单引号
1
echo $(sed -n ''"$var"'p' $WMS_History)

Portable package manager for Neovim that runs everywhere Neovim
runs.
Easily install and manage LSP servers, DAP servers, linters,
and formatters.
:help mason.nvim
Latest version: v1.8.0
2023年09月28日星期四晴北京市北京师范大学,
今天升级了Neovim的插件,同时又想起来解决一个彩虹括号的问题,因为在写程序和LaTeX的过程中,会出现好多配对的括号,在vim中有一个彩虹括号的插件vim-rainbow
这个功能十分诱人。但是切换到Neovim
后发现我还一直没有尝试成功,期间也努力试过,直到今天终于成功了。问题在于当初安装了nvim-treesitter,
但是要想实现对某种语言的高亮需要下载安装指定的语法模块,这个安装程序依懒nvim-treesitter-cli,
之前就是没有安装这个nvim-treesitter-cli
才导致一直没有实现这个功能。另外也可以借助Aur助手来安装高亮语言包,但是经过考虑还是选择了在Neovim内部处理的方案,唯一的缺点就是有时候访问Github不是很稳定,直接后果就是安装这些语言包容易失败。但是经过努力,今天还是成功了!
1
sudo pacman -S nvim-treesitter-cli
nvim-treesitter本身是通过包管理器packer来安装的,而不使用pacman安装。为了更好的学习使用这款插件,将nvim-treesitter的README.md文件贴于此处。
今天升级了我的Vim插件,发现打开neovim后不能正常使用了,查看帮助信息发现,是因为自动缩进插件indent-blankline升级到了v3.0, 升级后按官方说法只适用于最新的neovim,于是将其仓库克隆后把README.md贴到此处方便参考。
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
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启动器的方法。
AppImageAppImage格式是一种标准的Linux软件包格式,对于软件的.desktop文件和icon图片必须在包内指定位置,于是想要安装软件到启动器中,就需要先解压AppImage后取得.desktop和icon文件。即
1 | alixby-3.23.62819-linux-x86_64.AppImage --appimage-extract |
2023年09月15日星期五晴北京市北京师范大学, 今天我的gitlab上配置的ssh密钥已经过期,所以需要重新配置一个新的密钥。于是重新一下ssh密钥
在生成密钥的存放时要注意,我今天多次测试不能保存,原来是.ssh目录所属权给了root而不是feng,于是修改了一下权限,即
1 | sudo chmod feng ~/.ssh |
2023年09月08日星期五雷阵雨北京市北京师范大学,打算尝试一下Archlinux下的新的Aur助手,安装命令为
1
sudo pacman -S paru
详细用法参见: paru 进阶教程
使用paru安装软件时,首先解决github.com无法访问的问题,此参见:
解决ArchLinux使用yay或paru安装软件时从Github下载慢或不可下载的问题
为了避免每次下载时都进入审阅模式,请执行命令: 1
paru --skipreview -S foobar
2023年08月12日星期六阴北京市北京师范大学, 离京前发一篇文章,以方便后面工作的需要。
1 | '.' point marker |