首页科技娱乐体育干货女人设计时尚旅游美食语录健康

途牛原创|打造Mac高效命令行环境

2016-01-14 13:07:00来源:20区编辑:转角遇见你

途牛原创|打造Mac高效命令行环境


对一个合格的开发人员来说,命令行技能,即便不是最重要的,也应该是相当重要的。Mac下的命令行工具默认已经比较好用,熟悉Linux命令的也很容易就上手了。感谢Square技术团队共享出来的一些工具的配置,简单几步就可以构建好一套环境:
git clone https://github.com/square/maximum-awesome
cd maximum-awesome
rake
下面会来介绍一下自己用到的工具,它们组合起来构成了强大的命令行环境。

iTerm2

Mac自带的其实还行,不过有很多理由让我们选择iTerm2。比如快捷键丰富,自带的或者自定义都很方便,支持xterm-256色,方便在终端中配置Vim的代码颜色。iTerm2的各种技巧在网上都比较多,这里就不列了。我个人比较喜欢将它的颜色设置成Solarized Dark主题,打开之后CMD+Enter全屏,配合接下来的工具,在大屏上爽到爆。
zsh

zsh使用上除了可以兼容bash外,还有不少新的特性可以减少我们的输入:

1、连续tab,可以给出所有的补全列表。比如输入cd,连续2次tab,当前目录下的文件夹就都会显示出来。
2、智能查找历史命令,用向上方向键查找历史命令时,支持限制查找。比如输入vim,然后在按方向键,则只会查找用过vim的命令。此外,还有其他很多特性......

设置当前用户使用 zsh:
chsh -s /bin/zsh
根据提示输入当前用户的密码就可以了。

使用zsh,当然也就少不了开源的oh-my-zsh了,可以省去你自己配置zsh的麻烦。安装oh-my-zsh也很方便,在此之前确保你已经装了git,Mac应该是已经装好了git的。
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
重新打开,去~/.oh-my-zsh看下,应该是这个样子:能够提示你当前git库的分支。
tmux

tmux是一个用于终端复用的软件,它允许你创建会话,只要你愿意,随时可以离开或者返回该会话。

下图就是包装在tmux中的vim和zsh:


这个会话中有三个窗口,当前激活的是第3个窗口"-boot-sammples*”。当前窗口又分了3个区,左边是vim打开的Java代码,右上是正在执行的程序,日志输出到控制台,右下则是一个zsh窗格。

安装tmux:
brew install tmux
配置tmux默认使用zsh,在~/.tmux.conf加入这么一行:
set-option -g default-shell /bin/zsh
如果已经使用了maximum-awesome共享的配置,会发现tmux默认的快捷键前缀Ctrl-b已经被改成了Ctrl-a。为了按键方便,我把Ctrl和Caps Lock键换了下位置(在系统偏好设置->键盘->修饰键中修改)。
以tmux窗口截图为例:
Ctrl-k/j/h/l
可以上下左右切换激活的窗格,熟悉Vim操作的应该都比较好适应;
Ctrl-a再按下2
就可以激活第二个窗口;
Ctrl-a,再按d
就可以退出当前tmux会话;
tmux ls
可以看到会话列表;
tmux attach-session -t
就可以再次回到退出的会话。

虽然tmux可以很方便的创建窗口和窗格,但是如果我们经常会用到某一个布局,肯定不愿意每次都去手动创建一次。这个时候我们就可以安装tmuxinator,它可以通过配置文件来为每个tmux会话定制布局了,真的很棒。 tmuxinator是一个Ruby的gem包,可用于创建tmux会话。
在命令行下安装tmuxinator:
gem install tmuxinator
安装好之后,就可以在shell中运行tmuxinator或mux命令。我们可以这样创建一个配置文件:
mux new java
按下回车之后,就会自动打开文件
~/.tmuxinator/java.yml
编辑并保存你的配置,之后:
mux java
就可以启动tmux会话,布局就是和配置文件java.yml中的一致。
最后

下图是通过maximum-awesome项目配置好的Vim编辑器,看上去是不是有点IDE的味道?Vim扩展相关的主题就不在这里展开,有兴趣的小伙伴可以自己去尝试下。



 微信原文