如果觉得内容不错,可以设为星标置顶我的公众号
原标题名:oh my zsh 和 windows git bash 设置别名提高效率
写于2018年06月03日
在我的微信交流群中听闻很多前端开发比较贫穷,没有买mac电脑(比如我),也没有用过
ohmyzsh
。于是就有了这篇写于2018年文章的更新。这篇文章没啥难度,很快就能看完,主要还是希望读者你看完后可以安装开始使用高效终端工具。有了这么强大的终端工具后我发现
Windows
很好用呀,瞬间感觉都不需要买Mac
了。
主要就是:
Windows
的Linux
子系统功能Ubuntu
系统,安装ohmyzsh
和一些插件Windows Terminal
工具vscode remote-wsl
插件tig
查看 git
记录先看下效果。反正我用了ohmyzsh
后,离不开了。
搜索启用或关闭 windows 功能,勾选适用于 Linux
的 Windows
子系统,确定后重启电脑。
搜索 Ubuntu
和 Windows Terminal
并安装(Windows Terminal
可能要求win10系统比较高的版本,一般更新到最新版本即可)
Ubuntu
安装好后会要求设置用户名和密码。
建议安装最新版 Ubuntu 20.04
win10
安装了ubuntu
子系统和oh my zsh
后,则可以通过/mnt/f/
访问win10
下的f
盘,或者其他盘。也就有上面的pwd
效果图。
下载安装vscode
,并且安装remote-wsl
插件。
oh my zsh
简述下oh my zsh
oh my zsh官网的安装方法。github ohmyzsh
安装oh my zsh
部分适用于Ubuntu
和mac
系统。
echo $SHELL
# /bin/bash 默认是bash
# 查看下有哪些shells
cat /etc/shells
# 安装 zsh
sudo apt-get install zsh -y
# 查看zsh版本
zsh --version
# 5.1.1
# 安装后zsh 后cat /etc/shells 才有/bin/zsh /usr/bin/zsh
# 切换成zsh
chsh -s $(which zsh)
# 或者这条命令
# chsh -s /usr/bin/zsh
# 三种安装方案可供选择:
# Via curl
$ sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# Via Wget
$ sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
# 如果上面两种情况还安装不了,可以使用如下方式。
# via git clone
git clone https://github.com/ohmyzsh/ohmyzsh.git ~/.oh-my-zsh
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
chsh -s $(which zsh)
# 打开新的终端会应用新的zshrc配置
如果以上三种方式还装不了,可以来找我(若川 微信ruochuan12
)。也可以查看oh my zsh
文档
安装成功后,配置信息会在~/.zshrc
。可以通过code ~/.zshrc
(如果没安装vscode,可以用vim ~/.zshrc
)打开编辑zsh
配置信息,可以看到默认配置了git
插件Plugin:git。也就是说,可以更加简便的使用git
相关的一些别名。
# 比如
`git status`时,只需要输入`gst`。
`git pull` 时,只需要输入`gl`。
`git push` 时,只需要输入`gp`等等。
是因为配置里有这些简写,还有更多可以查看这里oh my zsh plugin git.plugin.zsh文档配置,github oh my zsh plugin git.plugin.zsh文件地址。安装成功后,同时会创建~/.oh-my-zsh
的文件夹,其实就是.oh-my-zsh
的 git
仓库master
分支。可以发现文件夹中有一个plugins
文件夹,内置了很多插件。可以自定义主题theme
,具体可以看example.zsh-theme。custom
自定义相关。插件相关会安装在这里,更多可以查看example.plugin.zsh
我暂时安装了这几个插件。
plugins=(
# 内置插件,启用即可
git
cp
mv
# 按两下esc键,用sudo权限
sudo
# 记录历史输入的zsh命令,自动提示,快速使用
zsh-autosuggestions
# zsh 命令高亮
zsh-syntax-highlighting
)
顺带讲下后面两个插件的安装方法 安装 zsh-autosuggestions
git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
安装zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
$ZSH_CUSTOM
其实是个变量,代表这个路径~/.oh-my-zsh/custom
, 也就是安装到了这个目录下。还有很多高效插件,等您发掘~oh my zsh官网不过插件安装多了,感觉会有些卡顿~
# 每次修改了这个`.zshrc`配置文件,需要重载一下,才能生效。
source .zshrc
# 也可以封装成一个简写命令 alias
alias rl='source ~/.zshrc'
也可以在这个配置文件中配置更多alias
。
# ~/.zshrc
# 比如跳转到工作目录
alias dgg='cd /mnt/f/git-source/github'
# vscode 打开要编辑的文件或文件夹
code blog
这也就是开头的效果图了。
最终终端效果那不是Win10
,也想通过设置别名来提高效率,是不是就没有办法了呢,可以使用git bash
设置alias
,安装git
,自带git bash
。
Windows
git bash
设置别名提高效率Windows
桌面或任意资源管理器位置,右击,选择Git Bash Here
,即打开了git bash
命令行。先设置下主题,右击选择options
, Looks > theme > dracula
我选择的是dracula
主题,看起来比较舒适。还可以设置字体等。
# 跳转到根路径
cd ~
# 查看下是否有.bash_profile文件
la
# 如果没有.bash_profile文件,需要创建
touch .bash_profile
# 打开编辑 (我这里安装了vscode,所以直接用其打开文件)
code .bash_profile
可以根据修改设置一些别名。比如我们常用的git status
命令,可以封装成gst
。清屏clear
命令封装成cls
。
alias gst='git status'
alias cls='clear'
每次修改这个文件需要输入source ~/.bash_profile
重载这个文件,才会生效。code ~/.bash_profile
,用vscode
编辑这个配置文件,封装成一个命令。比如:
alias rl='source ~/.bash_profile'
alias bashconfig='code ~/.bash_profile'
这样每次修改保存后就只需要输入rl
,即可重载生效了。还可以把一些工作目录封装,我的一些项目是放在/f/git-source/github
文件下。
# github上的项目
alias dgg='cd F:/git-source/github'
# 周报相关
alias dcwk='cd F:/git-source/coding/weekly'
每次进入项目,就直接dgg
,即可跳转到这个目录,然后选择相应的目录即可。比如dgg
进入工作目录,cd analyse-vue-cli
进入项目目录,(输入anal
按tab
键智能提示)
# /f/git-source/github/analyse-vue-cli (dev)
# 查看状态 git status
gst
# 用vscode 打开这个文件夹,开始编辑~
code ./
git 相关的, 例举一些平时用的比较多的。
alias g='git'
alias ga='git add'
alias gaa='git add -all'
alias gp='git push'
alias gl='git pull'
alias gcmsg='git commit -m'
# 分支相关
alias gb='git branch'
alias gbr='git branch -r'
alias gba='git branch -a'
# checkout
alias gco='git checkout'
alias gcb='git checkout -b'
# merge
alias gm='git merge'
# diff
alias gd='git diff'
alias gdw='git diff --word-diff'
更多可以把oh my zsh
的插件一些命令拷贝过来,留alias
相关的即可,oh my zsh plugin git.plugin.zshPlugin:git wiki相当于解锁了oh my zsh
的git
插件。还有很多插件,比如npm
点击查看, node 等
,都可以研究下。
git bash
,有没有类似oh my zsh
的插件呢,我暂时没发现,如果您知道,欢迎告诉我。目录相关的操作,也可以设置一些别名。比如:
# 回退到上一级
alias ..='cd ..'
alias ...='cd ../..'
alias ....='cd ../../..'
alias .....='cd ../../../..'
alias ......='cd ../../../../..'
更多别名可以自定义~Windows
上命令行工具还可以使用cmder
点击查看cmder官网命令行工具。虽然我几年前就安装了,但发现还是git bash
用的顺畅些,可能是我还不太习惯cmder
。关于cmder
配置相关,这里推荐晚晴幽草轩轩主的一篇文章:《Win下必备神器之Cmder》
也有cygwin,也是Windows
命令行工具,也可以安装oh my zsh
。
当然,git
也是可以设置别名的。
git
设置别名,使用tig
神器# git status => git st
git config --global alias.st status
更多可以查看廖雪峰老师的这篇文章git 配置别名。不过可能大多数人不知道,他们可能用着可视化工具。我觉得可视化工具也是对git
的一些封装,具体背后是什么命令,我们还是需要去了解熟悉的。命令行使用git
,我推荐使用tig
。git log
增强版,性能很好。Ubuntu
、Linux
、Mac
可以直接安装,Windows
稍微麻烦些。具体安装方法查看tig github仓库中的官方安装文档,或者查看这篇文章:颠覆 Git 命令使用体验的神器 -- tig
磨刀不误砍柴工,花时间折腾研究工具,有利于提高开发效率。