FinalHome

最初的梦想

如何搭建优雅的开发环境-命令行工具

命令行对于开发者而言,应该是左膀右臂的作用,GUI下的多个复杂操作,在命令后下可以简单的通过一些指令完成。且现在多数开发环境,都需要配合命令行工具完成编译与构建。

为什么要用命令行

我喜欢那种在命令后下的专注的感觉,多窗口或者分屏操作,open 命令打开对应目录,运行编译项目,在命令行下通过包管理工具,管理系统软件。更多的好处,我推荐几个文章:

包管理工具

PS: 由于我工作在 windows 平台下,个人电脑在 mac 平台下,手机用 andorid, 平板用 ipad, 虚拟机是 linux,所以我还是比较能折腾的。记录的也都会是我使用过的经验。

Linux 大家肯定听说过 apt-get 这样的命令, 这个就是包管理工具,前端熟悉的 npm 也是包管理工具,只不过是针对 node 环境的。我强烈推荐大家在 Windows 下使用 Chocolatey, 配合 PowerShell 在 windows 下操作,除了网络可能会有问题,其他体验还是能让你找到包管理工具的便捷。

Mac 下,大家就使用 brew: The missing package manager fo macOS.

终端工具

windows 平台

clink: Power Bash-style command line editing for cmd.exe

一个帮助提高 cmd.exe 编辑方式的工具,直接安装,再次打开 cmd.exe 后,就可以体验到复制,粘贴,自动补全等功能。是想要简单提升下 cmd 体验的人使用。

gow

gow: Unix command line utlities installer for Windows.

提供一些 Unix 命令供命令行下使用,比较轻量级,适合日常会在 windows 下使用简单的一些命令的人,比如 ls 查看目录等。虽然有快一年没人维护了,但是我之前使用的经验来看,也没啥问题。

mysygit

mysygit

安装 git 后带的终端,提供了 msys2 环境,我一般没有直接使用,而是用下面的 cmder/conEmu 配合将 mysygit 的命令加入环境变量使用。

cmder/ConEmu

cmder: Protable console emulator for Windows

整合了 ConEmu, clink, git(可选) 的终端模拟器,强烈推荐大家使用。它提供2个版本, mini 和 full, full 包含了 git-for-windows, 由于我的一些其他软件,比如 vim 插件,会调用命令行继续使用 git 命令,所以一般我都是单独安装 git, 然后配置 mysygit 提供的命令到环境变量,方便 cmder 中使用。

我曾经也使用了多年的 ConEmu,这个其实就是 cmder 的底子,我觉得也易用,但是需要配置的内容太多,不如 cmder 直接上手。

cmder 只是一个壳子,实际运行的终端还是可以选择的,我目前使用的是 PowerShell, 我也建议大家在 windows 下 放弃 cmd.exe。

Babun

  • Babun: a Windows shell you will love!

最近看了 babun 这个集成 cygwin 的终端模拟器,发现功能还是很强大的,但是我想大多数人不需要这么完备的环境,这种环境使用简单,搭建成自己顺手的比较费时间。我也推荐大家安装,多一种体验方式,不会有什么副作用。

这货的安装比较麻烦,自身的安装包就200M+, 下载后比较简单,双击 install.bat 即可,但是注意,不能配置 HOME 环境变量,这个和 Emacs 会有冲突。所以针对 Emacs ,建议大家在 .emacs 配置文件中,自行加入环境变量,然后 load 配置文件:

1
2
(setenv "HOME" "c:/User/xxx/")
(load "~/.emacs.d/init.el")

安装完成后,系统右键菜单也会多一个 open babun here, 你就当作另一个 cmd.exe 用呗。

Update: 2016-12-17
发现可设置 HOME, 但是 upgrade_oh_my_zsh 可能存在问题,具体解决方法可参加 Can’t update oh-my-zsh on start,设置:

  • git config core.filemode false
  • .oh-my-zsh 下执行 git rebase --skip

Mac 平台

iTerm

iTerm: macOS Terminal Replace

强烈推荐安装的终端工具。不用说什么,用了都说好。

oh-my-zsh

oh-my-zsh: 社区驱动的 zsh 配置,反正我一直在用,没看出不好。

总结

好的终端环境,会让你 happy coding. 大家好好配置配置,让自己的工具越来越顺手。

Proudly powered by Hexo and Theme by Hacker
© 2016 Leo Hui