2023-08-28 杂记

27 号

这里是 27 号的内容,因为过了零点与 28 号合并。

GitHub

首先是学生包优惠终于到了,差不多正好三天。感谢 GitHub。绿色的 Approved 也变成紫色的了。同时多了个 PRO 标签。

然后去领了 Copilot,简单试了一下还行。还用 AutoHotkey 让它写一个切换系统代理的快捷键,居然也可以。虽然说我要求了用 v2 语法,但它还是用 v1 写了,而且还用 MsgBox 提示切换。

一直没收到邮件。然后发现优惠到了去看,几分钟前发了邮件。

JetBrains

拿到了 GitHub 学生包我就兴冲冲去申请 JetBrains 了。结果提示我被 Block 了。

一开始我还以为是因为我连续申请了好几次,结果被以为是 spam 然后 ban 了。赶紧打算给他们写邮件解释。

然后上网发现「因为白嫖太多,edu 邮箱给禁了」。于是我就移除了 GitHub 里的邮箱绑定,然后就成了。已经用 Toolbox 装了 CLion 和 PyCharm 了。

hexo-admonition-lyieu

一开始 Hexo 用的插件是 hexo-admonition-better,然后我自己改了一部分代码。

最后我还是自己 fork 了一个,改名为 hexo-admonition-lyieu。由于是自用,就比较放飞自我了。

引用补充 README 的内容

本插件自用,fork 自 rqh656418510/hexo-admonition-better,适配 Hexo NexT 主题,除继承其特性外,另外加入了额外功能:

下面是展示。

note, question, success

这里是内容。可以包含数学 LaTeX\LaTeX,可以用自定义的宏 e\e,可以用 emoji 😄,可以插入,可以删除,可以高亮,可以标,可以标,可以 abbr

  • 任务一
  • 任务二
示例表格
Grouping
First Header Second Header Third Header
Content Long Cell
Content Cell Cell
New section More Data
And more With an escaped |

info, todo

这里是内容。可以包含数学 LaTeX\LaTeX,可以用自定义的宏 e\e,可以用 emoji 😄,可以插入,可以删除,可以高亮,可以标,可以标,可以 abbr

  • 任务一
  • 任务二
示例表格
Grouping
First Header Second Header Third Header
Content Long Cell
Content Cell Cell
New section More Data
And more With an escaped |

warning, attention, caution

这里是内容。可以包含数学 LaTeX\LaTeX,可以用自定义的宏 e\e,可以用 emoji 😄,可以插入,可以删除,可以高亮,可以标,可以标,可以 abbr

  • 任务一
  • 任务二
示例表格
Grouping
First Header Second Header Third Header
Content Long Cell
Content Cell Cell
New section More Data
And more With an escaped |

failure, missing, danger, bug, error

这里是内容。可以包含数学 LaTeX\LaTeX,可以用自定义的宏 e\e,可以用 emoji 😄,可以插入,可以删除,可以高亮,可以标,可以标,可以 abbr

  • 任务一
  • 任务二
示例表格
Grouping
First Header Second Header Third Header
Content Long Cell
Content Cell Cell
New section More Data
And more With an escaped |

example

这里是内容。可以包含数学 LaTeX\LaTeX,可以用自定义的宏 e\e,可以用 emoji 😄,可以插入,可以删除,可以高亮,可以标,可以标,可以 abbr

  • 任务一
  • 任务二
示例表格
Grouping
First Header Second Header Third Header
Content Long Cell
Content Cell Cell
New section More Data
And more With an escaped |

quote

这里是内容。可以包含数学 LaTeX\LaTeX,可以用自定义的宏 e\e,可以用 emoji 😄,可以插入,可以删除,可以高亮,可以标,可以标,可以 abbr

  • 任务一
  • 任务二
示例表格
Grouping
First Header Second Header Third Header
Content Long Cell
Content Cell Cell
New section More Data
And more With an escaped |

tip, abstract

这里是内容。可以包含数学 LaTeX\LaTeX,可以用自定义的宏 e\e,可以用 emoji 😄,可以插入,可以删除,可以高亮,可以标,可以标,可以 abbr

  • 任务一
  • 任务二
示例表格
Grouping
First Header Second Header Third Header
Content Long Cell
Content Cell Cell
New section More Data
And more With an escaped |

test

这里是内容。可以包含数学 LaTeX\LaTeX,可以用自定义的宏 e\e,可以用 emoji 😄,可以插入,可以删除,可以高亮,可以标,可以标,可以 abbr

  • 任务一
  • 任务二
示例表格
Grouping
First Header Second Header Third Header
Content Long Cell
Content Cell Cell
New section More Data
And more With an escaped |

除了最后一个 test 白天黑夜模式不同外,其它颜色都是相同的,只是背景不同罢了。

目前来看没啥大问题了。以后可能会加入更多样式吧。不过现在共有 8 个样式,也够用了。

插件中 markdown-it-abbr markdown-it-footnotemarkdown-it-merge-cells 都无法生效,正文中只有 markdown-it-merge-cells 无效。后续看看文档。

abbr 及 footnote 都必须写在一起。即无法用 admonition 外部的 abbr 和 footnote。我看了下源码它是先解析成 HTML 再输回去的,也就是说 admonition 内的 markdown 和外部是隔离的。有点遗憾,但我的水平暂时还无法解决这个问题。

markdown-it-merge-cells 也许和 markdown-it-multimd-table 冲突了?不过用得不多就不管它了。

Outlook 广告

收到 JetBrains 邮箱时上面有两封像邮件的东西,在我意识到旁边有写着「广告」前,我就已经条件反射地点了进去。可恶呀微软你怎么学坏了呀,还让我订阅 365。没来得及截图后面又发现了

28 号

gVim(cli)

下午在玩 git 带的 bash,把它切为 Windows 终端默认。然后加了点小配置。

可以在里面用 Vim,但是呢首先插件无法调用,其次我的 Vim 配置都是为 GUI 准备的,因此就禁用了配置文件。

1
2
alias vi='vim -u NONE'
alias vim='vim -u NONE'

也给 gVim 配了 alias,但是有白框框始终是不爽。

然后我突然灵光一闪,决定用 AutoHotkey 实现。一查发现 AutoHotkey 脚本可以通过 A_Args 传递命令行参数。于是 gVim.ahk 就诞生了:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
ListJoin(list, string) {
for index, content in list
str .= string . content
return SubStr(str, StrLen(string) + 1)
}

MonitorGetWorkArea( , , , &WorkAreaInfoRight, &WorkAreaInfoBottom)
SetWorkingDir(A_Args.RemoveAt(1))

if A_Args.Length == 1
Run("gvim `"" A_Args[1] "`"", , , &process_id)
else if A_Args.Length > 1
Run("gvim -d `"" ListJoin(A_Args, "`" `"") "`"", , , &process_id)
else
Run("gvim", , , &process_id)
ProcessSetPriority("High", process_id)
WinWait("ahk_pid " process_id, , 10)
WinSetStyle(-0xC40000, "ahk_pid " process_id)
WinMove(0, 0, WorkAreaInfoRight, WorkAreaInfoBottom, "ahk_pid " process_id)
WinActivate("ahk_pid " process_id)

可以看出来其实基本上是从 Vim.ahk 里复制过来的。

gVim.ahk 要求至少一个参数,这个参数被视为工作目录。

然后再加几个 alias 就完事了(AutoHotkeyUX.exe 的目录需放到 PATH 里):

1
2
3
gvim_script_path='/g/project/scripts/autohotkey/specific/vim/gvim.ahk'
alias gv='autohotkeyux '${gvim_script_path}' $PWD'
alias gvim='autohotkeyux '${gvim_script_path}' $PWD'

然后就可以愉快地在命令行用 gv 快速调用 gVim 了。也可以加入多个参数对比文件。

当然这样弄就无法为 gVim 加入本可以加的参数了。但是我又没用过,所以小小的牺牲还是没问题的。