Yixuan 厨娘界元老, 书呆界新人.

终端小探

因为自己是极端的 Terminal 使用者, 但除了能干活的几个命令以外, 一直就没有深探过. 一切都是 教程一下, 这么下去不是事儿呐, 所以决定仔细玩一下.

    配置: iterm2+tmux+zsh

先说 shell 是什么玩意儿. 所谓, 人靠衣装马靠鞍. Terminal 什么的, 也要弄得好看一点儿才行呐.

whatever, 不吊书袋说一些无用的东西. 总之我用 ZSH. 至于你怎么把 zsh 安装上, 这不关我的事儿呐. 自己折腾昂.

1. 怎么让 ZSH 变的好看

zsh 的配置文件是 .zshrc. 打开了之后发现好长好长…于是 command + f, 查一下 random, 得到:

        # Set name of the theme to load. Optionally, if you set this to '"random"
    # it'll load a random theme each time that oh-my-zsh is loaded.
    # See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
    ZSH\_THEME="random"  

这个是我设置好的东西, THEME 就是主题啦, 你可以把自己的 zsh 设置成很多主题的样子…可是我很懒呐, 我也不是很想选主题, 那怎么办呢? 人家说了, 只要你把 ZSH_THEME 设置成 random 就可以了. 这样, 每次打开 iterm2, 人穿的衣服都不一样.

2. 怎么让 ZSH 操作的更方便.

    # Example aliases
    # alias zshconfig="mate ~/.zshrc"
    # alias ohmyzsh="mate /.oh-my-zsh"

alias 是啥? 比如, 我叫 Yixuan, 大家也叫我 瑄仔. 那么, 无论你叫我 Yixuan 还是瑄仔, 我都知道你在叫我. 所以, 我们可以告诉电脑, 只要用户输入 Yixuan, 你就要知道, 等同于输入了 瑄仔, 操作如下:

    alias Yixuan=“瑄仔”

同理, 我们可以给常用的一些命令起 “小名儿”:

    alias cl='clear'
    alias ll='ls -l'
    alias la='ls -a'
    alias -s gz='tar -xzvf'
    alias -s tgz='tar -xzvf'
    alias -s zip='unzip'
    alias -s bz2='tar -xjvf'

这样…光一个 clear 你就可以少敲打键盘 3 次, 解压什么就更不用说了.

这里有一个坑, 就是默认的 ZSH alias 设置里(如果你默认里有这条命令的话), alias ll='ls -l'  中的 ls-l 没有空格, 所以不要要手动改一下, 不然明明看到自己的设置里已经有这个了, 却怎么输入 ll terminal 都很冷漠..那就尴尬了.

总之上面是我遇到的一个小坑, 要是你的默认设置里没有这玩意儿, 那就打开 .zshrc 然后拉到最后, 把上面的部分粘贴进去, or 设置成自己喜欢的命令就可以啦!

3. 插件儿

同样, 和上面一样. 你可以用 zsh 给你的一些插件儿来用. 比如, 我经常用 GitHub 来上传一些东西, 那么, 我每次把我改动的东西上传到 GitHub 的最小命令为:

    1. git add -A
    2. git commit -m “what I’ve changed”
    3. git push

那…我能不能把这玩意儿简化一下嘞? 可以! 看一下我们的 .zshrc 文件…发现里面有这么一句:

    plugins=(git textmate ruby autojump osx mvn gradle)

恩嗯嗯嗯…显然, git, textmate 什么的插件都已经在里面了. 那么, 问题就变成了, 我怎么知道 git 是用什么命令代替了现有命令内? 还有没有别的插件可以供我们使用呢?

1. 先看看我们到底可以在 zsh 里面用什么插件.

     terminal 输入cd ~/.oh-my-zsh/plugins   

在这个文件夹中, 你可以看到一大堆文件夹, 这些文件夹都是你可以用的插件. 里面显然有 git, svn 什么的…

2. 每一种插件的命令行到底咋用?

比如, 我要用 git 的简单命令符, 那么打开 plugin 里的 git 文件夹, 然后看一看以 .zsh 结尾的文件里是怎么写的就好了, 在 terminal 里输入:

    cat ~/.oh-my-zsh/plugins/git/git.plugin.zsh 

里面有超级多的命令, 我们找一下, 就可以发现:

    alias gaa='git add --all'
    alias gcmsg='git commit -m'
    alias gp='git push'

所以, 我们在回顾一下, 以前我们玩 git 的话, 要上传东西, 要用:

    1. git add -A
    2. git commit -m “what I’ve changed”
    3. git push

现在有了新玩法, 我们就可以这样做:

1. gaa
2. gcmsg
3. gp

是不是省事儿了很多? 哇哈哈哈哈! 嗯嗯! 我很满意!


Glider

Too fast to live.