kd
kd copied to clipboard
kd太好用了!我给他做了一个自用的nvim插件
https://github.com/SilverofLight/kd_translate.nvim
最近Wudao突然不能用了,fajyi 又一个词查询半天,还得是 kd 更好用,心血来潮给他做了一个nvim插件,基本上是Cursor写的,自己写了一点点,过来宣传一下下。
https://github.com/Karmenzind/kd/issues/30#issuecomment-2440152317 顺便,受这个sh脚本的启发,我也写了一个简明+交互模式的脚本
#!/bin/bash
echo -e "\033[94mWelcome to kd!\033[0m"
while true; do
# Ctrl+D 退出
if ! read -r -p "> " msg; then
echo -e "exit"
exit 0
fi
# 首先检查是否以 -l 开头, 完整模式
if [[ "$msg" =~ ^-l ]]; then
cmd="${msg#-l}" # 移除开头的 -l
cmd="${cmd## }" # 移除开头的空格
if [ -n "$cmd" ]; then
kd "$cmd"
fi
continue
fi
if [ "$msg" = "clear" ] || [ "$msg" = "c" ]; then
clear
echo -e "\033[94mWelcome to kd!\033[0m"
continue
fi
# 默认为简洁模式
if [ -n "$msg" ]; then
# 第一行为红色,第二行如果是注音,则为绿色,倒数第二行为红色
kd "$msg" | sed -e 's/ \[/\n [/g' -e '/⸺⸺⸺⸺⸺/q' \
| awk 'NR==1 {print "\033[31m" $0 "\033[0m"; next}
NR==2 {print; next}
{prev=line; line=$0; lines[NR]=$0}
END {
if (NR > 1) {lines[NR-1]="\033[31m" prev "\033[0m"}
for (i=3; i<NR; i++) print " " lines[i]
if (NR >= 1) print line
}' \
| sed -e 's/\[\([^]]*\)\]/\x1b[92m[\1]\x1b[0m/g'
fi
done
hahaha 谢谢支持 已经用上了🙏
脚本我晚点回去试下