终端小探
24 Nov 2016因为自己是极端的 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
是不是省事儿了很多? 哇哈哈哈哈! 嗯嗯! 我很满意!
本作品采用 CC BY-NC-ND 进行许可. 如需转载, 请标明 Yixuan + 源地址
Too fast to live.