william

Keep Calm and Markdown.

avante.nvim

前两天在 B 站看了一个视频, 介绍了目前国内 AI 领域做得非常不错的一家公司,也是量化界的领头羊-幻方。其中,谈到他们开发大模型 deepseek 已经拥有非常强劲的实力,能够满足大部分场景下的 AGI 使用,比如机器人、自动化代码生成器等。联想到之前我在网上看到 avante.nvim 这个插件可以为 nvim 带来 AI 辅助功能,当时由于国内还无法使用国外开发的大模型工具,所以就不了了之了。现在终于可以在国内合理合法的使用 AInvim 中辅助编程了。

ubuntu 安装 yarn

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
## install nodejs
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
apt-get install nodejs -y

## add repo for yarn
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

## install yarn
apt-get update
apt-get install yarn

## now we have it
yarn --version

pyproject.toml 打包项目

pyproject.toml 是新一代的 python 项目打包工具。相比于 setup.py 能够提供更多关于项目本身的信息。

nvim im select remote 在远程机器上丝滑切换输入法

im-select.nvim 解决了在本地机器的终端上面丝滑切换中英文输入法。但是我回到家里,需要连接到公司的远程服务器,然后再登录 我的 tmux 回话,即可快速返回下班前的工作状态了。这时候如果需要在 tmux 使用 vim 进行中文输入,就 无法再使用 im-select 的切换功能了,因为其使用使用的是本地的输入法切换,在远程环境中,无法调用。

这时候我发现一个可以让 nvim 远程调用本地的输入法切换命令:

  • 一旦进入 insert 模式,就从远程发送一个命令给本地,要求切换到中文输入法
  • 一旦退出 insert 模式(即按下 Esc),再从远程发送一个命令给本地,要求切换到英文,这样就可以在 normal 模式下使用各种按键了。

nvim im select

使用 vim 进行中文输入,遇到的最大困难是要频繁的切换中英文,这个操作是比较繁琐的,往往会打断创作思路。我们的想法是,在 insert 模式下,使用中文输入;但是在 normal 模式下,则自动切换到英文输入,如此可以方便各种键位的操作。

在网上找了一会,发现有一个 im-select 的插件可以实现这个目的,使用起来非常的丝滑。

crontab FAILED to authorize user with PAM

这几天发现有一个 crontab 没有启动,一开始以为是脚本有问题,所以添加了日志重定向。可是还是没有任何输出,所以怀疑是 crontab 没有执行,然后查看系统日志 /var/log/cron 发现有报错

1
crond[81985]: (infra) FAILED to authorize user with PAM (Module is unknown)

在网上搜索发现是 PAM 密钥过期了,需要重新设置

1
2
3
4
chage -M 99999 root
chage -M 99999 infra
chage -M 99999 spd
chage -M 99999 ops

重新查看就可以了

1
2
3
4
5
6
7
8
chage -l infra
Last password change                                    : Jul 12, 2024
Password expires                                        : never
Password inactive                                       : never
Account expires                                         : never
Minimum number of days between password change          : 0
Maximum number of days between password change          : 99999
Number of days of warning before password expires       : 7
0%