好的工具让人事半功倍,简单分享一些我使用的提升工作与学习效率的工具。

我比较少使用付费软件,大部分都是开源或者免费的,如果有收费会特殊注明。

文档笔记:石墨文档

我最早使用石墨是2015年,还在加拿大读书的时候,在几个做文档协同工具中找到了它。

支持协同编辑、链接分享,有历史记录。后来又出了其他更丰富的工具,比如应用表格、白板这类工具。

思考笔记:flomo

flomo 是一个卡片式笔记应用,支持通过网页、微信、插件方式快速记录想法,通过标签集整理与连接笔记。提供高级版功能,比如笔记关联等。

我没有把 flomo 当做文档型笔记,因为它更适合做思考型笔记,关注核心内容,简单、便于复习,可以帮助我建立连接,触类旁通。

Mac超级命令行:iTerm2 + ZSH + Oh My Zsh

mac中默认的终端有时不太好用,或者对于编程来说不够好用,ZSH + Oh My Zsh 的组合便可以给你带来强大的终端控制能力。

首先建议先安装 Homebrew(Mac中的软件包管理工具):

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

然后安装 iTerm2,一个默认终端的高级替代品,当然也可以使用 VSCode 的终端。

之后便可以安装 ZSH 来替代默认的 Bash:brew install zsh。查看一下当前环境变量中的SHELL:echo $SHELL 如果没有自动切换,可以执行 chsh -s /bin/zsh 来切换。

再安装 Oh My Zsh(开源的、社区驱动的框架,用于管理你的 zsh 配置),让你的命令行使用效率有10倍的提升:

sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

这一顿操作完成之后,便可以修改默认的命令行主题(比如支持高亮显示用户、目录位置、git分支等),还可以增加一些自定义alias(快捷键,可以少打几个命令),这些都可以在 ~/.zshrc 中完成。

另外还可以安装诸如 autojump(目录瞬移)、zsh-autosuggestions(自动提示)、zsh-syntax-highlighting(语法高亮)等插件来进一步提升命令行操作效率:

# 通过homebrew安装autojump
brew install autojump

# 从github拷贝zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

# 从github拷贝zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

最后分享一下我的 .zshrc 配置:

...
ZSH-THEME="ys" # 简介清楚的主题,推荐!其他主题可以去这里慢慢挑:https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
...
plugins=(
  git autojump zsh-autosuggestions zsh-syntax-highlighting
  )
[[ -s $(brew --prefix)/etc/profile.d/autojump.sh ]] && . $(brew --prefix)/etc/profile.d/autojump.sh
...
## Aliases(注意alias和实际命令与中间“=”之间不能有空格)
# common
alias cl="clear" # 清屏
alias ll="ls -la" # 列出目录下所有文件(含隐藏文件与.文件)
# git(也可以通过安装zsh的git插件实现更丰富的功能,但是我常用的没有特别多,就自己写了)
alias ga="git add" # 增加操作,如:ga README.md
alias gaa="git add ." # 增加当前目录所有文件
alias grc="git rm --cached" # 移除已cache的文件,如:grc README.md
alias gcm="git commit -m" # commit时候可以快点,如:gcm "some updates"
alias gs="git status" # 查看当前git状态
alias gpush="git push" # push的时候可以快点,如:gpush [github] = git push [github]
alias gpull="git pull" # pull的时候可以快点
alias gco="git checkout" # 创建分支,如:gco dev = git checkout dev
alias gb="git branch" # 切换分支,如:gb dev = git branch dev
alias gm="git merge" # merge
alias grv="git remote -v" # 查看远端仓库列表
alias gf="git fetch" # 从某个上游更新,一般用下面这个就行
alias gfu="git fetch upstream" # 从上游更新
alias gcp="git cherry_pick"
alias dog="git log --all --decorate --oneline --graph" # 命令行git历史可视化(按q退出)
# 其他
alias ip="ipconfig getifaddr en0 && ipconfig getifaddr en1" # 查看内网IP地址
alias cip="curl cip.cc" # 查询当前公网IP和运营商信息

# 创建并进入文件夹
function mcd {
    mkdir $1 && cd $1;
}

修改完保存后,输入:source ~/.zshrc 来刷新配置,才可以直接使用。

Windows 命令行:git bash

因为习惯了Linux 的 bash 操作,我在 Windows 环境中使用的是 git bash

从官网下载后按提示安装即可:git-scm.com

Visual Studio Code

我的代码编辑器 + 文本撰写工具。

响应十分迅速,支持多平台。并且因为支持安装扩展插件,所以让人爱不释手。

多设备使用的话可以登录GitHub/MS账号进行设置同步。

VSCode 扩展插件

以下是一些比较常用的扩展插件,有一些插件支持自定义,但是我懒得搞,喜欢直接抄作业。另外有些小众的就不放出来了。

  • 简体中文插件:需要中文可以装
  • Dracula Official:我最喜欢的VSCode主题
  • Github Theme:很不错的GitHub官方主题(markdown链接不够明显,不过也可以自定义)
  • DotENV.env文件高亮
  • Edit csv:表格形式编辑.csv文件内容
  • Markdown All in One:一个插件满足基本md文件功能:快捷键、目录、预览等
  • Markdown Preview Enhanced:更强大的markdown文件预览(快捷键:CRTL+K然后V
  • markdownlint :Markdown 代码规范提示工具
  • Markdown Image:支持通过在 markdown 文件中“粘贴图片”,自动把剪切板里的图片上传至本地相对目录或OSS网盘,也支持自定义。
  • Markdown Table:Markdown 表格工具,支持用Tab键生成/跳转单元格,也支持直接复制Excel表格粘贴转换
  • Jupyter:支持 Python Notebook(以支持.ipynb文件,使用 Anaconda 的同学有福啦)
  • All Autocomplete:代码自动补全
  • Folder Size:状态栏显示文件大小、所在文件夹大小
  • JSON Tools:JSON文件处理工具 CTRL/⌘+Alt+M=pretty,Alt+M=minify
  • json:JSON文件结构化工具,快速定位内容
  • Image preview:支持鼠标悬停图片链接显示缩略图
  • Database Client:核心支持直接在VSCode中连接各类数据库进行相关操作,可替代 Navicat。支持:MySQL/MariaDB, PostgreSQL, SQLite, Redis, ClickHouse, 达梦以及ElasticSearch。另外甚至支持作为SSH客户端、OSS对象存储。有免费版和付费版,免费版只能创建3个连接。
  • SQLTools PostgreSQL/Cockroach Driver:支持 CockRoach 和 PostgreSQL 的数据库连接器,支持执行SQL脚本。
  • Thunder Client:可以通过编写HTTP请求文件来测试API接口,类似Postman。支持环境变量、测试脚本等功能。

3D建模

我的3D建模主要是为了3D打印使用。我早期使用的是 SketchUp Pro,目前主要使用 Autodesk Fusion 360 来做3D建模,然后用 Ultimaker Cura 来做切片。

像素画

Aseprite 依然是最好用的工具之一,另外我还发现一个开源的像素画 Webapp:Piskel,非常好用,支持GIF多页操作,同时可以下载离线的本地版本。

AI助手

目前主要使用 ChatGPT 和 Claude 做AI助手,并且有写两个webapp供自己和朋友们在国内时使用更方便。

如果自己有API KEY的朋友可以使用 hex,是目前我更新维护比较及时的,支持保留聊天记录(所有数据本地保存,可以导出迁移),唯一就是需要你自己提供一个API。