hi, 这次给大家介绍一下我所用到的一些开发工具。作为一个爱折腾的工具控,平常少不了折腾一些软件的,经常也有知友私信问我视频中用到的一些软件,这次打算介绍一下我常用的这些软件。视频字体比较小,视频推荐电脑观看。
开发软件
- Pycharm/IDEA/Goland(JB全家桶)。专业的python IDE,功能很强大,特别喜欢它的代码merge工具,不想被编辑器折腾死的推荐直接使用,五星级推荐。(除了内存占用大点)。如果你不喜欢折腾编辑器,请直接用 IDE,经常看见一些用裸编辑器写代码的,代码规范检测都没有。
- Neovim/vim/Emacs/Vscode/Sublime/Atom: 跨平台的编辑器。vim 目前是笔者的最爱,你可以在慕课网和 B站搜索到我的视频教程
- meld/vimdiff/kdiff3: 跨平台的文件对比和冲突合并工具。当然还有付费的 BeyondCompare,对笔者来说大部分场景 vimdiff 就很好用
- devdocs.io: 文档查询工具,可以在线查询
- EditorConfig: http://editorconfig.org/ 用来统一编辑器配置。如果成员用不同的操作系统和编辑器,建议使用。尤其是对于 python 这种使用缩进的语言
MacOS 开发效率工具
- Item2: 替代原生的终端。https://medium.com/@RyanDavidson/make-your-terminal-more-colourful-and-productive-with-iterm2-and-zsh-11b91607b98c
- Alfred: mac 下一款功能强大的工具,不过我一般只用它快速打开软件(比如直接输入app名前缀快速切换不同app)。可以用 python 编写一些自己的 workflow 提高效率(https://github.com/deanishe/alfred-workflow),比如把时间戳转成日期等。 https://github.com/derimagia/awesome-alfred-workflows
- Dash: 强悍的文档查询工具。支持非常多编程语言和框架。windows 和 linux 可以用 Zeal。或者 https://devdocs.io/
- CheatSheet: https://www.mediaatelier.com/CheatSheet/ 显示 mac 快捷键
- mac-setup: https://github.com/sb2nov/mac-setup mac 下各种编程语言开发环境配置指引
- Hammerspoon: 开源的mac窗口管理工具 https://github.com/Hammerspoon/hammerspoon
- Magnet/chunkwm/Amethyst/yabai 窗口管理辅助工具,拖拽窗口到屏幕边缘可以自动半屏, 全屏或者四分之一屏幕,还可以设定快捷键完成分屏,现在已经离不开magnet 分屏了。
- Karabiner-Elements(mac): 改键工具 https://github.com/tekezo/Karabiner-Elements 也可以用来禁用内置键盘(mac自带修改capslock为 control)
- Be Focused: mac 下番茄工作法工具,可以用来给任务计时,或者提醒该休息下了
- Qbserve: https://qotoqot.com/qbserve/ 一个 mac 下的时间追踪软件,可以查看自己在不同软件耗时,改善时间和工作管理
命令行工具
- vim。本人比较喜欢的编辑器,平常写代码、博客、文档等使用频繁,配上各种插件编辑效率很高。http://vimawesome.com/ 可以到这个上面安装排名靠前的那些插件,能够大大提高编辑效率,部分替代IDE(本人装了六七十个插件,满足各种变态的编辑需求)。其他优秀的编辑器sublime,atom,vscode,emacs等根据个人喜好来吧,不过vim等终端友好的编辑器方便在服务器上直接写代码,和本地体验一样,缺点就是补全和跳转支持不完善,对新人不友好,也可以 Pycharm 和 vim插件配合。(在google搜索python awesome等可以在github上搜索到一些awesome项目,总结了该语言很多技术工具)。网上还有很多牛人开源了自己的 dotfiles,我们可以参考下别人的 vimrc 配置。
- neovim: 新时代的 vim,我在这个配置(https://github.com/PegasusWang/vim-config)上自定义了自己的配置,使用起来性能和反应速度上远超原生的老古董 vim,目前笔者已经全面迁移到 neovim,用着很爽。感兴趣可以关注笔者知乎专栏,我录了一些针对初学者的教学视频。
- vim-bootstrap: 一个快速建立不同编程语言 vimrc 的创建工具 https://github.com/editor-bootstrap/vim-bootstrap
- ranger: 用 vim 的方式管理文件,替代 mac 下难用的 finder。
- oni: https://github.com/onivim/oni/ 构建在 neovim 上的 IDE。还有 VimR 等项目。
- tmux/tmuxp。比screen好用,可以用来分屏,托管进程等,服务器端必备神器,ubuntu下基本就不用使用terminator之类的分屏工具了。最近看youtube视频还发现有人在服务器上使用tmux和vim结对编程,两个人同时attach到一个session里,基情四射。
- wemux: tmux 共享,https://github.com/zolrath/wemux
- sshfs: 本地挂在服务器文件夹
- tmate: tmate.io 终端共享工具,结对编程。很多现代化编辑器 vscode, atom 提供结对编程的插件。
- asciinema: 终端会话记录工具。https://asciinema.org/ 可以用来录制终端演示操作,而不用录屏。
- oh-my-zsh。替代原生的bash shell,提供了好多方便的特性和漂亮主题,支持插件比如 zsh autocomplete。linux/mac下vim+tmux+zsh简直是绝配,甚至可以直接在服务器上方便地撸代码,跟本地开发体验没区别。
- brew(mac)。类似ubuntu下的apt-get,可以方便安转各种软件和工具。
- autojump。方便在命令行里来回跳转目录。
- tldr: 列举出常见命令行工具用法。linux 命令行很多参数又不好记,man 手册比较难用,可以用这个 tldr 替代。https://github.com/tldr-pages/tldr
- rmtrash/safe-rm: linux 自带的 rm 非常危险,可以使用安全删除工具先放到垃圾桶。
saferm <https://zhuanlan.zhihu.com/p/91515325>_ - when-changed: 一个可以监控文件变动并且自动执行命令的工具,写脚本代码观察编写边输出结果的时候比较方便。笔者很多视频演示过
- https://github.com/onceupon/Bash-Oneliner