Vim 智能切换输入法

核心思路

在 vim 中输入中文时切换输入法会非常不方便。比如写了中文注释,然后 ESC 进入 normal 模式,还需要再将输入法切换成英文才能操作。如果操作完需要进入 insert 模式继续输入中文又要再切换一次输入法。

阅读全文 →

CORS 跨资源共享问题处理

CORS(Cross-Origin Resource Sharing 跨源资源共享)是一种认证机制。

同源策略

CORS 中的源由协议,域名和端口三部分组成。这三部分一样则认为是一个源,可以简单理解为浏览器认为他们是同一个站点。
访问同一个源下资源不会有限制,这个机制叫做同源策略。
当想从一个源访问另一个源的资源时就需要一种机制来保证安全了,这就是 CORS。

阅读全文 →

VS Code 使用技巧

ctrl+j 无法长按的问题

这不是 vscode 本身的问题,是一个 macOS 的一个功能,叫做 “Press and Hold for Keys “,默认情况下,macOS 允许长按某个键时展示一个额外的字符选择菜单而不是重复这个按键。
所以可以通过禁用某个程序的这个功能来实现普通的长按的效果。

阅读全文 →

怎么根据 docker 网桥查到容器

我是为了查询哪个容器用了过多的流量,然后查到了 docker-74b27c0b 这样一个网卡,但是不知道具体是哪个容器。

通过 ip addr show | grep 74b27c0b 查到了这样的信息。

6: docker-74b27c0b: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    inet 172.21.0.1/16 brd 172.21.255.255 scope global docker-74b27c0b
16: dockerc81b796@if15: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker-74b27c0b state UP group default

这一步也可以通过 brctl 查

阅读全文 →

wireguard 使用

我有三台 VPS,希望通过 wireguard 将他们组成内网。

安装

在所有机器上安装 wireguard

(我使用的是 debian,下面的 centos 命令没有测试过)

# Debian/Ubuntu
apt update
apt install wireguard

# CentOS/RHEL
yum install epel-release elrepo-release
yum install kmod-wireguard wireguard-tools

在所有机器上生成密钥对

# 在每台服务器上执行
cd /etc/wireguard
wg genkey | tee privatekey | wg pubkey > publickey
chmod 600 privatekey

配置

这里使用 VPS1 作为主节点,其余机器都连它。

阅读全文 →

OpenVPN 和其它代理共存

有些时候我们需要通过 OpenVPN 连接到特定的内网环境。但是用了 OpenVPN 之后,本地所有的流量都走 OpenVPN 了,这个时候可能Clash 或者其他的本来在用的代理就会出现冲突。两个代理只能同时开一个。
最好的状态是什么样的了,日常的代理还是能继续用,然后特定内网的 IP 和 域名流量走 OpenVPN。
研究了一下,目前可以用这样的方式实现。(如果可以修改 OpenVPN 服务端参数,会有另外的改法,这里只是讲单纯在客户端怎么改)

阅读全文 →

helm 使用

安装

https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

helm 的概念理解

helm 是部署一组 k8s 资源的,核心概念是 Chart。
Chart 用来描述一组 k8s 资源怎么部署,资源比如 deployment,servife, pvc 等等。
Chart 的结构如下

阅读全文 →

markdown 的段落

写文章总是要分段,最近发现在 obsidian 里写文章分段体眼很差,我明明回车换了一行了,但是看起来和上一段一点差距都没有。
我希望的分段是这样的,不换行是连在一起的一整段内容,换行直接写的就是新的一段,和上一段需要有一点间距。
然后如果我换行还空了一行再写的内容就是一个新的小节(这个小节的概念是我自己定义的,目前不知道正确的名称是什么),它需要比上一段有更大的间隔。
image.png
这部分原本的 markdown 是这样的。
节之间空行,段之间换行。(换行这里要注意,正确的 markdown 语法要求是两个空格,有些编辑器会做兼容,正常的回车也行)

阅读全文 →

NAS 入坑系列三、群晖基础配置

1. 安装 opkg

群晖上没有 yum,apt 这样的包管理工具,只能使用 ipkg 和 opkg,ipkg 不维护了,很多包都太老了,所以我们使用 opkg。

sudo -i # 进入 root 用户
wget -O - http://bin.entware.net/x64-k3.2/installer/generic.sh | sh # 安装 opkg

opkg list | grep <name> # 查看可用的安装包
opkg files <command> # 查看命令装在哪里

2. 安装 wget

群晖默认带的 wget 不支持 https,使用的时候会报这样的错 wget HTTPS support not compiled in

阅读全文 →

配置 pagefind 为 hugo 加上搜索

最开始我是想用 fuse.js,但是配置好了发现有些内容搜索不到,感觉对中文的模糊匹配可能有些问题。所以这里换成 pagefind 试试。

安装 pagefind

可以使用

npm i pagefind

我这里是直接去 github 上下载的二进制,下载的 pagefind-extend 这个版本,据说这个版本对中文分词更友好。
下载之后将 pagefind_extend 改名为 pagefind 放到 /usr/local/bin 里。

阅读全文 →