软件使用经验和技巧¶
好用的软件¶
| 类别 | macOS | Linux | Windows | Android | 
|---|---|---|---|---|
| 压缩工具 | Keka | Bandizip | ||
| 播放器 | IINA | VLC | PotPlayer | VLC | 
| 窗口管理 | Rectangle | |||
| 终端 | Termius | Termius | Termius | Termius | 
| 远程摄像头 | Iriun Webcam | |||
| 投屏 | scrcpy | |||
| 网络工具 | CellularZ 网络万用表  | 
|||
| 文件管理 | Midnight Commander | |||
| 久坐提醒 | Time Out | Safe Eyes | Big Stretch Reminder | |
| 按键展示 | KeyCastr | YetAnotherKeyDisplayer/Kling | ||
| 连点器 | macos-auto-clicker | OP Auto Clicker | 
编辑器¶
- 使用 EditorConfig 统一编辑器配置
 
VSCode¶
- 
烦人的自动补全
在写程序代码时,自动补全能极大地提高效率,但在撰写文档过程中常常相反。比如在 Markdown 中开启代码建议,则常常会跳出前面出现过的句子等,按下 Enter 键就直接键入了,非常智障。但关闭代码建议后,自定义的用户代码片段也不会自动跳出。最好的解决方法是:指定 Tab 键为接受代码建议的按键。更多代码建议的信息,请参考 How to disable IntelliSense in VS Code for Markdown? - Stack Overflow。
 - 
标题栏
在 Linux 系统上安装 VSCode 可能会出现很厚的标题栏。在
settings.json中设置即可隐藏系统自带标题栏。你还可以进一步隐藏菜单栏,设置
"window.menuBarVisibility"即可,参考 vs code 界面去除菜单栏_window.menubarvisibility": "default",-CSDN 博客。 - 
用户代码片段
可以在 VSCode 中配置用户代码片段,为常用的代码片段提供便捷的智能输入。Snippet Generator 是一个用户代码片段生成器。
 - 
tasks.json:用于项目生成任务,参考官方文档 Tasks。Tasks 的目的是将各种自动化项目构建系统(如 Make 等),通过命令行聚合到 VSCode 中。
在 VSCode 中配置的一般顺序如下:首先在
tasks.json中编写自己的 task,然后在命令面板中选择 Configure Default Build Task 设置某个 task 为默认选项,此后便可以使用 Ctrl+Shift+B 执行任务。tasks 示例
{ "version": "2.0.0", "tasks": [ { "type": "cppbuild", "label": "C/C++: gcc.exe 生成活动文件", "command": "C:\\mingw64\\bin\\gcc.exe", "args": [ "-fdiagnostics-color=always", "-g", "${file}", "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe" ], "options": { "cwd": "${fileDirname}" }, "problemMatcher": [ "$gcc" ], "group": "build", "detail": "调试器生成的任务。" } ] }这是 VSCode 默认生成于 Windows 中的执行文件。还是比较容易读懂它的作用是什么的。为了可移植性,我将
command更改为gcc,经过测试在 Windows 和 Linux 上均可用。其他东西基本不需要动。 - 
launch.json:用于调试(执行编译好的文件),参考官方文档 Debug。VSCode 利用语言对应的扩展来支持调试。不同的调试器支持的配置也不同,以下以
gdb调试器为例。launch 实例
{ "version": "0.2.0", "configurations": [ {//Windows 和 Linux 通用,gdb 调试 "name": "gdb", "type": "cppdbg", "request": "launch", "program": "${fileDirname}\\${fileBasenameNoExtension}", "args": [], "stopAtEntry": false, "cwd": "${fileDirname}", "environment": [], "externalConsole": false, "MIMode": "gdb", "miDebuggerPath": "gdb", "setupCommands": [ { "description": "将反汇编风格设置为 Intel", "text": "-gdb-set disassembly-flavor intel", "ignoreFailures": true } ], "preLaunchTask": "build", } ] } 
终端¶
Quote
Tmux¶
- 会话、窗口和窗格(sessions, windows and panes)
 - 使用 
/tmp中的 socket 文件与服务端通信。服务端在后台运行,管理运行在 tmux 中的所有程序并跟踪它们的输出。 
常用命令:
- 创建会话:
tmux new-s指定会话名称-n指定窗口名称
 - 附着:
tmux attach-t指定会话的名称-d使其他附着到该会话的客户端脱离
 - 列出会话:
tmux ls 
快捷键:C-b 开头
:打开内置命令行。q显示窗格编号。?查看按键列表。
常用内置命令:
- 窗格
select-layout选择布局even-vertical垂直等分even-horizontal水平等分
break-pane -t <pane_id>将当前窗格分离为一个新窗口join-pane -s <source_pane> -t <target_window>将窗格合并到目标窗口
 kill-server关闭服务端,结束所有会话。- 窗口
split-window分割窗格-h,-v水平、垂直分割-d不改变活动窗格-f让新窗格占据整个横、纵向位置-b将新窗格置于左、上方
neww新的窗口-d创建但不设为当前窗口-n设置名字-t设定序号command最后跟执行的命令
 
杂项¶
Vivado 自定义编辑器 VSCode 无法打开¶
报错内容:vivado unable to launch external text editor
原因:VSCode 默认的执行路径不是 .exe 文件,而是为了方便在 WSL 中使用而包装的脚本文件。查看 Windows Path,可以看到设置在 AppData\Local\Programs\Microsoft VS Code\bin 下,而该目录下只有几个脚本文件:
大致内容如下:
@echo off
setlocal
set VSCODE_DEV=
set ELECTRON_RUN_AS_NODE=1
"%~dp0..\Code.exe" "%~dp0..\resources\app\out\cli.js" %*
endlocal
在 PowerShell 中执行 (Get-Command code).Path 也显示为 AppData\Local\Programs\Microsoft VS Code\bin\code.cmd,因此 Vivado 对脚本的调用不成功(推测是 Java 调用外部程序,没有 Shell 环境)。
解决方法:真正的 code.exe 在上层目录,将 Path 末尾的 bin 去掉即可。
