Mac下效率工具

对于开发者来说,有一个符合自己开发习惯的操作环境能够最大化的提升工作效率。以下就介绍下自己个人用的比较舒服的开发环境。

iterm2

Mac 上是有一个自带的终端(terminal),但是功能相对简单。而且用起来也不是特别舒服。使用Mac的基本都是用iterm2 来作为终端工具。

  1. 设置快捷键,快速将iter2唤出。无需去手动打开应用

    在Preferences->Keys-> Hotkey 找到下图位置进行设置。我设置的快捷键是option+空格

    img

  2. 设置半屏效果,并且能够固定在屏幕上方。

    Preferences->Profiles->windows 设置按照下图即可

    image2

  3. iterm2配色

    网上有很多的配色方案,我们可以用现成的。比较出名的就是iTerm2-Color-Schemes

    git clone https://github.com/mbadolato/iTerm2-Color-Schemes

    好了配色方案是有了接下来我们就是进行配色了,这个也是比较简单,打开iterm2的偏好设置,找到Profiles下的Colors,选中import,这里选择刚才git 克隆下来文件中的schemes文件夹下的文件,这些文件就是各种各样的配色方案。我个人比较喜欢使用的是Violet Light方案哈

常用的快捷键

  • 窗口和屏相关
    • 新建窗口:command + t
    • 关闭窗口或者分屏:command + w
    • 切换标签:command + 左右方向键
    • 切换全屏:command + enter
    • 水平分屏:command + shift + d
    • 垂直分屏:command + d
    • 切换分屏:command + option + 方向键
  • 编辑相关
    • 清除当前行:ctrl + u
    • 删除光标之前的字符:ctrl + h
    • 删除光标之前的单词:ctrl + w
    • 删除光标到文本末尾:ctrl + k
    • 到行首: ctrl + a
    • 到行末:ctrl + e
    • 查找历史命令:ctrl + r

一个例子

之前遇到一个情况,需要同时对多台远程机器进行同样的命令操作,这时候就可以用iterm2了。第一步先进行command + dcommand + shift + d进行分屏。在每个分屏中分别远程ssh成功之后。然后使用command + shift + i。这时就几个屏就会同时输入同样的内容了。

on-my-zsh

Shell 是LInux/Unix的一个外壳,你理解成衣服也行。它负责外界与Linux内核的交互,接收用户或其他应用程序的命令,然后把这些命令转化成内核能理解的语言,传给内核,内核是真正干活的,干完之后在把结果返回给用户或应用程序。

Linux/Unix 提供了很多种shell,常用的shell有这么几种,sh、bash、csh等。想知道系统有几种shell,可以通过以下命令查看。

# 查看当前系统支持的shell
cat /etc/shells
# 查看目前使用的shell
echo $SHELL

在 Linux 里执行这个命令和 Mac 略有不同,你会发现 Mac 多了一个 zsh,也就是说 OS X 系统预装了个 zsh。mac下要开启使用zsh 执行以下命令并重启iterm2

chsh -s /bin/zsh

手动安装

如果当前系统没有自带zsh,也可以手动就行安装。具体的平台可以参考官方安装教程,根据安装教程完成安装后,可以对zsh进行配置。

# 下载配置模版
git clone https://github.com/robbyrussell/oh-my-zsh ~/.oh-my-zsh
# 使用配置模版
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

oh-my-zsh 提供了很多的主题,可以选择自己喜欢的风格。具体的主题效果可以参考主题预览,选好主题了,接下来就是配置了。编辑~/.zshrc 文件

vim ~/.zshrc
#编辑主题,af-magic是我机器上的主题风格,具体可以设置为刚才主题预览中的
ZSH_THEME="af-magic"

zsh的优势

  1. zsh 可以兼容bash,bash的使用习惯还是可以保留的
  2. 强大tab 补全功能,执行cd的时候,只要按两下tab,就可以将目标路径下的所有目录列出。在按回车可以进入选择的目录
  3. 智能补全功能,比如要进入/var/log/nginx/error/lastyear/may/first/monday。在zsh下输入/v/l/n/e/l/m/f/m,然后按tab就可以将目录补全。
  4. 命令选项和命令参数补全,比如输入kill -9 然后按下tab 就会显示进程名称和进程id。
  5. 大小写更正,比如当前目录下有一个AA.txt,我们输入cat aa.txt和tab键,就会更正为cat AA.txt

zsh 还有很多其他强大的功能,具体的等大家去探索吧,这里就不介绍更多了。

这里推荐一个替换命令cd的工具z,使用z+文件夹名可快速切花目录,不需要向cd那样输入相对路径和绝对路径来实现目录切换。mac下安装执行brew install z,然后在.zshrc 最后添加source $(brew --prefix)/etc/profile.d/z.sh 即可。需要留意的是使用z第一次进入跳转路径需要使用绝对路径,第二次可以直接使用文件夹名称。

VIM

vim 是一个很强大的文本编辑器,vim对于每个开发来说都应该掌握的一个技能。vim本身自带了一个基础教程,学习完这个教程之后对vim基础操作都没啥问题。在iterm2或者终端输入以下命令来启动这个教程

vimtutor

教程里面介绍了很多快捷键操作,这里就不在重复了。

Vim 还有一个很强大的功能就是插件,只要你配置好相关的插件,你就可以不使用任何的开发工具,可以直接使用vim进行开发。更多的vim参考跟我一起学习VIM

相信有了上述的这些工具能够大幅提升生产效率。


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!