跳转至

常用/备用软件、语言和框架

记性不好,这是本人备忘用的、曾经常用,或者正在使用,或者有意将来使用的的软件、语言和框架。

文本处理【老编辑必备】#

  • 正则表达式
  • TextPro,汉字的正则处理,批量正则替换
  • EmEditor,打开大文件,跨行正则处理,表格模式
  • VS Code,各种语言支持(比如办公常用的markdown),丰富的插件,Git版本控制
  • LibreOffice Writer,正则处理MS Word文档

思维导图【老编辑必备】#

  • Freeplane,依赖java,开源,基于已经停止开发的FreeMind,文件是xml格式,还可以导出markdown
  • vsCode+markmap插件,可即时以思维导图形式呈现markdown文件的提纲
    • 可以导出可交互HTML(方拷入Pelican的markdown博客文章中)
    • 缺点:不同级别标题之间的文本不好处理(Freeplane称之为“节点明细”)

在网页中插入markmap的方法(同样可插入markdown):

**如果没有看见思维导图,请按`F5`刷新**

<!-- 上代码起 -->
<div>

    <!-- 在下行中设置尺寸 -->
    <svg id="mindmap" style="width: 800px; height: 1600px"></svg>
    <script src="https://cdn.jsdelivr.net/npm/d3@6"></script>
    <script src="https://cdn.jsdelivr.net/npm/markmap-lib@0.7.11/dist/browser/view.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/markmap-lib@0.7.11/dist/browser/transform.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/markmap-view"></script>
    <div id="mm" hidden>
    <!-- 上代码终 -->

# 这里是你的markdown文件

## 标题

* 列表项
* 分为多行的
  列表列表项
* 详见官方文档

    <!-- 上面只留一个空行。下代码: -->
</div>

<script>
    markdown =  document.getElementById("mm").innerHTML;
    const data = markmap.transform(markdown);

    markmap.Markmap.create("#mindmap", null, data);
</script>
</div>

文件管理【老编辑必备】#

  • Total Commander,简称TC,文件管理
    • robocopy,快速备份
  • Everything,文件查找,可与TC双向整合,可局域网分享
  • Powergrep、FileLocator,正则全文查找与处理
  • 近似Total Commander的linux文件管理器
    • https://gcmd.github.io/
    • https://krusader.org/
    • https://midnight-commander.org/

fd#

查找目录、文件名。

ripgrep#

文件名和文件内容查找。

仅仅列出内容匹配的文件的文件名,不列出内容:

rg -l REGEX

仅仅列出--files <directory>下给定格式的目录名和文件名,不查找内容(fd更直观,速度相当):

rg -g '*glob*' --files <directory>
# 大小写敏感则用`--iglob`
# `--files`打印预定要搜索而实际未搜索的文件名

-g, --glob GLOB ... Include or exclude files for searching that match the given glob. This always overrides any other ignore logic. Multiple glob flags may be used. Globbing rules match .gitignore globs. Precede a glob with a '!' to exclude it.

词典与翻译【老编辑必备】#

  • GoldenDict,支持各种格式的词典,最常用的是.mdx
  • 有道词典,外文词典、双语用例、翻译,某些旧版支持本机的星际译王词典
    • 自动广告:有道词典笔2.0(硬件),给孩子用来学习很不错
  • DeepL,翻译质量极好

TTS/语音校对【老编辑必备】#

看稿子看到眼神恍惚的时候,不妨做一会儿语音校对;对于OCR、五笔打字而来的文本,形近字错误可能比较多,效果更好。

为了防止耳朵滑,可以预先处理一下文本,比如全分成词语,或分成单字,或者把顺序全部倒过来……总之,文本越没意思,越能避免大脑情不自禁地做完形填空,这样能更好地专注于单纯的声音。

听到耳朵恍惚的时候别忘了再切换回来~

  • TTS引擎
    • IVON Eric等,英语
    • neospeech Paul,英文
    • neospeech Liang,汉语
    • Microsoft Huihui,汉语,Win10自带的,读词语还算自然,但读错比较多,需要自己配置词典;句子层面还差点,机器感还比较浓
  • TextAloud,朗读工具

热键【老编辑必备】#

  • Autohotkey
  • 宏录制
    • tinytask;
    • Pulover's Macro Creator,录制Autokey脚本

学习相关#

  • Anki,记忆卡片,部分开源,iPhone版收费。社区活跃,推荐
  • Mnemosyne,记忆卡片,开源、实验,不支持iPhone
  • supermemo,记忆卡片,商业软件,复习机制最优,PC版强大
  • anymemo,记忆卡片,仅安卓适用。以前我常用,开发不活跃的,最新版是2018的
  • aboboo,通过视频、字幕学外语

图像和声音相关#

视频播放器#

  • vlc player,如果打开列表,有时可能会看不到画面,用ctrl+l闭关列表即可
  • MPlayer-corei7-r37875+gce466d0

直播、展示、串流#

屏幕绘图与教学白板#

  • pointofix,屏幕画笔,教学演示用
  • Open-Sankore,电子白板,还没有用过

录屏、串流#

  • ScreenToGif 录屏为动图、视频(无音频)
  • active presenter 制作互动教程(比如录频为软件操作教程),强大的标注能力
  • OBS-Studio 录屏,串流
  • Captura-Portable 录屏,串流。较为简单,没用过

拷贝手机屏幕到电脑#

  • scrcpy 打开usb调试模式; 屏幕录制scrcpy -r filename.mp4; 如果屏幕设置了缩放比例,投屏界面会模糊。右键 scrcpy.exe,属性 - 兼容性 - 更改高 DPI 设置 - 勾选替代高 DPI 缩放行为。

视频转换#

  • HandBrake,格式转换
  • autosub,视频语言转写成字幕、翻译等,用到Google服务,需要翻墙

音频转换:FFmpeg#

  • 图像序列转为视频:
ffmpeg -f image2 -r 24 -i img%03d.jpg -c:v libx264 -pix_fmt yuv420p out.mp4
# -f输入文件类型;
# -r 帧率,在-i前为输入帧率,在输出前为输入帧率;
# %03d表示三位数字序列;
# 多行命令各新开窗口并最小化依次等候处理:每行前加`start /wait /min`,后加回车空行
  • 拼接文件

详见

ffmpeg -i "concat:1.mp3|2.mp3" -c copy output.mp3

或预先做成文件列表mylist.txt

# this is a comment
file '/path/to/file1'
file '/path/to/file2'
file '/path/to/file3'

然后:

ffmpeg -f concat -safe 0 -i mylist.txt -c copy output

如果是相对路径,不需要-safe 0

如果wav录音文件使用ffmpeg -i input1.wav -i input2.wav -acodec output.wav   `命令拼接的录音最终输出的录音只有第一段。 原因是wav的音频编码格式不属于MPEG 类,所以需要加一个过滤器。解决办法:

ffmpeg -i input1.wav -i input2.wav -filter_complex '[0:0][1:0]concat=n=2:v=0:a=1[out]' -map '[out]' output.wav
根据录音数量需要修改的就只是[0:0][0:1]和n=2 这两个的数量。比如三个文件拼接就用:
ffmpeg -i input1.wav -i input2.wav -i input3.wav -filter_complex '[0:0][1:0][2:0]concat=n=3:v=0:a=1[out]' -map '[out]' output.wav

OverSpeed抓取的h.264封装成mp4文件:

ffmpeg -i source.264 -r 30 -c:v copy -f mp4 myOutputFile.mp4
# 输出帧率30;编码不变,原样拷贝copy
  • mp4转mp3
ffmpeg -i filename.mp4 filename.mp3

or

ffmpeg -i video.mp4 -b:a 192K -vn music.mp3

flash/swf#

  • ming, 使用php,perl,python生成swf文件
  • swftools, 用程序生成swf(flash)文件
  • MoyeaSWFtoVideoConverterPro_4.2

点阵图转矢量图如svg#

  • autotrace,命令行工具,有一些问题
  • Illustrator: 图像描摹,可用动作批处理
  • Inkscape: 临摹位图轮廓(命令行工具不能用此功能,可用Python操作)

图像处理,ImageMagick#

适合shell命令行操作,批处理。更复杂的逻辑控制可用Python+Pillow。

  • 将大图割成小,小图尺寸是124x146
magick convert src.jpg -crop 124x146 dest.jpg
  • 将白色转成透明
magick src.png -fuzz 5% -transparent #ffffff out.png
  • 转换svg文件为png,保留透明
magick -background transparent play.svg play.png
  • 反相(把rga三个通道反相,而保持a通道/透明不变)
magick in.png -channel rgb -negate out.png
  • 剪除白边/透明边(repage重置信息)
magick in.png -trim +repage out.png
  • 拼字游戏部件与字头处理
magick in.png -fuzz 0% -transparent white -trim -resize 80x80 -background transparent -gravity center -extent 80x80 -channel rgb -negate +repage out.png
# 输入图像、模糊量+白转透明、剪边、大边尺寸、透明背景+重心居中+扩展画布、通道rgb+反相、重置信息页、输出图像
# 给海报.png贴上ip_label.png标签(左上角对齐),生成海报vip.png
magick composite -geometry +0+0 vip_label.png 海报.png 海报vip.png
# 多图层叠
convert -size 100x100 xc:skyblue comp_resize.gif # 生成背景
composite -geometry 40x40+5+10  balloon.gif comp_resize.gif comp_resize.gif # 缩放和定位:40x40+5+10
composite -geometry      +35+30 medical.gif comp_resize.gif comp_resize.gif
# 拼接
convert -append in-*.jpg out.jpg
convert in-1.jpg in-5.jpg in-N.jpg +append out-in1-plus-in5-and-inN.jpg
# -append,垂直拼接,一列n行;+append,水平拼接,n列一行
# 更复杂的拼接用montage(蒙太奇)

PDF相关#

  • PDF-XChange Editor
  • SumatraPDF,快,支持多种文件格式,支持命令行,比如:
    • SumatraPDF.exe -named-dest -view "continuous single page" -zoom "180" -reuse-instance [filepath ...]
    • SumatraPDF.exe -page -view "continuous single page" -zoom "fit width" -reuse-instance [filepath ...]
  • Adobe Arobat

电子书图片预处理#

  • Abbyy Finereader(整体校直)
  • Photoshop(模板调位置, 统一) 建立固定大小的模板,拉若干条参考线(中线、文本顶端线/下划线、左右边界线)      --> 一次性打开50张图片,再一张张拖入到上面的模板中,全选所有图层,居中,再一张张慢慢移位      --> 最终:【脚本】->【把图层导出到文件】-->【文件类型:TIFF, 图像压缩:LZW】(这样速度快!)      --> 还可以继续使用“老马”的 "ComicEnhancerPro" 将图片缩小化,转换格式为png
  • ComicEnhancerPro(转换格式、大小) 等*
  • PDG转PIC:使用“老马”的"pdg2pic
  • 图片词典PNG格式瘦身优化
  • pngquant https://pngquant.org/ pngquant is a command-line utility and a library for lossy compression of PNG images. The conversion reduces file sizes significantly (often as much as 70%) and preserves full alpha transparency. Generated images are compatible with all modern web browsers, and have better fallback in IE6 than 24-bit PNGs.

  • optipng http://optipng.sourceforge.net/

动画与3D建模#

  • ZBrush,雕刻
  • Cinema 4D(C4D),建模和动画,视频包装行业多用,容易上手,效果好,适合美工爱好者,可配合Houdini的动力、特效和AE的后期效果
  • MAYA,曲面建模,动画片
  • 3DMAX,建筑可视化,游戏建模,游戏动画
  • blender,动画,游戏,免费软件,极客风格
  • AE合称效果

办公、日用#

常用商业办公软件的替代#

  • MS Word,换用libreOffice Write,

正则表达式查找替换增加插件: Alternative Find & Replace for Writer (AltSearch)

注意未经证实的问题:如果审阅人没有名称,那么可能造成审阅标记混乱,比如错误恢复、错误删除、大量时间归零的标记。

  • Adobe Photoshop,换用GIMP
    • Autodesk SketchBook,绘画,平板设备
  • Adobe Audition,换用Audacity
  • Adobe Illustrator,换用InkSpace
    • 笔顺动画用ai批量转svg:批处理+动作

微软拼音输入法自定义时间#

%yyyy%-%MM%-%dd%
%yyyy%-%MM%-%dd% %hh%:%mm%:%ss%

静态网站生成器#

  • MkDocs,python语言,常用来写文档,也可以做博客,目前用的它
  • Pelican,python语言,多用来做博客,本站就是用它生成的,原来用的它
  • Zola,Rust语言

SSL/https证书自动连续申请工具#

https://github.com/acmesh-official/acme.sh

使用英文说明,中文说明可能陈旧、过时

linux中的win环境#

装机#

  • Driver Booster # 驱动管理

邮件客户端(已不多用)#

  • becky

编程相关#

语言学习列表#

  • 常用python, TypeScript/javascript, actionscript3
  • 以后学Kotlin。用于Android开发,替代/配合Java;可以编译成Java字节码,也可以编译成 JavaScript。“如果你正在为Android开发寻找一种替代编程语言,那么应该试下Kotlin。它很容易在Android项目中替代Java或者同Java一起使用。”
  • 关注Rust。用于替代C/C++,供python、javascript等绑定
    • pyo3,与python互相调用

python数据科学常用库#

js压缩和混淆#

  • UglifyJS
  • jsFuck
uglifyjs  strokes.js -m -c -o strokes.min.js

开发工具#

  • VS Code,官方支持TypeScript,JavaScript,Python,可以连接WSL
  • Pycharm,Python专用,有社区版
  • Thonny: Python初学者IDE,自带最新版Python、pip、命令行、包管理器等;能看到变量名、堆heap、值的对应关系,分步调试时能看到代码的实际执行顺序和变量的变动情况。
  • Mu,儿童Python入门
  • as3:FlashDevelop

python打包exe: pyinstaller#

pyinstaller --onefile --noconsole --upx-dir=c:\python27\scripts setFlashInstanceName.py

H5游戏#

数字艺术#

  • p5,Python3语言,还在初始阶段,合适儿童编程/趣味编程入门
  • pyp5js,Python3语言,用Transcrypt翻译Python为js,从而调用p5.js,在浏览上使用,API与p5.js高度兼容。
  • p5.js,JavaScript语言,数字艺术,音频可视化,粒子,游戏(继承自Processing)
  • Processing.py,只支持python2.7

音乐合成#

  • pyo is a Python module containing classes for a wide variety of audio signal processing types。
  • csound
  • supercollider
  • chuck,主要用于computer music的创造性演出,live coding