MacOS 有哪些常用编程软件[视频]

1,110 阅读5分钟
原文链接: zhuanlan.zhihu.com

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 开发效率工具

命令行工具

  • 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