Mac键指如飞攻略之终端alias配置

🎬 场景

日常开发中,对于npm以及 git操作的命令是非常频繁的,即便他们的命令已经够简单了,但是对于高频操作仍显输入繁琐,比如说 git 的提交操作命令,要输入git commit -m ""这么常常的一大串。你可能会说,用图形化界面不就好了,诸如sourcetree这样的软件,点一点就可以了,完全不用输繁琐的命令。

但是我追求的是极致的效率,而毫无疑问,无鼠标全键盘操作才是最快的,图形化固然方便,但是键鼠之间的切换是我不喜欢的。程序之间的切换,焦点的转移都是对注意力的磨损。这是我摒弃一切图形化操作软件的原因。

好在 Linus 中提供了 alias 命令,使得我们可以在终端配置中对于一些命令设置自定义的命令。具体的配置如下:

💡前置知识

mac中默认的终端是zsh,修改zsh的配置输入如下命令,这样会通过文本编辑器打开zsh的配置文件:

arduino 复制代码
open ~/.zshrc

修改完配置后,需要在终端输入如下命令重载配置

bash 复制代码
source ~/.zshrc

🔨实操

有了上面的基础后,我们就可以在zsh的配置文件中写入我们想要的alias配置了,以下是我的配置分享:

常用 Linux 命令的 alias 配置

清屏、创建文件和文件夹是我平常用的比较多的 linux 命令,但是他们的命令输入都偏长,所以对他们做了如下别名,方便快速使用:

ini 复制代码
alias c=clear
alias t=touch
alias mk=mkdir

npm 相关命令的 alias 配置

常用 npm 命令

开发中 npm 命令是最常用的,最常用的三个命令分别是npm installnpm run devnpm run build,所以我为他们设置了以下别名:

ini 复制代码
alias n=npm
alias nd='n run dev'
alias nb='n run build'
alias ny='n init -y'
alias ni='f() { n install "$*"; }; f'

nvm 相关命令

因为会跑老项目,所以需要使用低版本的 node,我这里用到了 14 版本和 16 版本,而我默认使用的是稳定版本,所以我就给这两个版本 node 定义为低版本 node 和中版本 node,分别用l(low)m(middle)

我使用nu来代指nvm use,后面跟 lm来表示使用低版本 node 或中版本 node,具体对应的别名如下:

ini 复制代码
# 14.17.3版本node
alias nul='nvm use 14.17.3'
alias nuld='nvm use 14.17.3 && nd'

# 16.13.0版本node
alias num='nvm use 14.17.3'
alias numd='nvm use 14.17.3 && nd'

git 相关命令的 alias 配置

初始化和克隆项目

ini 复制代码
alias g=git
alias gi='g init'
alias gc='f() { g clone "$*"; }; f'

分支操作 alias

ini 复制代码
alias gb='g branch'
alias gba='g branch -a'
alias gbv='g branch -v'
# 切换分支
alias gck='f() { g checkout "$*"; }; f'
# 创建并切换到新分支
alias gcb='f() { g checkout -b "$*"; }; f'
# 删除分支
alias gbd='f() { g branch -d "$*"; }; f'

推送和拉取

ini 复制代码
alias gps='git push'
alias gpl='git pull'

提交操作 alias

git 操作中git commit是最频繁的,所以我将git addgit commit融合到一个命令里gci,通过这个命令可以一步暂存代码并提交 commit 信息。

此外有的时候需要一件提交并推送的远程,所以我也做了封装,通过gcp就可完成一次完成的 git 修改提交到远程仓库的操作。

ini 复制代码
# 查看仓库状态
alias gs='g status'
# 添加所有更改到暂存区
alias ga='g add .'
# 提交更改
alias gci='ga && f() { g commit -m "$*"; }; f'
# 提交更改并推送
alias gcp='ga && f() { g commit -m "$*"; }; f && gps'

其它一些 git 常用的 alias

ini 复制代码
# 查看远程分支地址
alias grv='git remote -v'
# 查看提交日志
alias gg='git log --oneline --decorate --color --graph'

⚙️完整配置

ini 复制代码
alias c=clear
alias t=touch
alias mk=mkdir

#npm相关命令
alias n=npm
alias nd='n run dev'
alias nb='n run build'
alias ny='n init -y'
alias ni='f() { n install "$*"; }; f'

# nvm的不同版本
alias nul='nvm use 14.17.3'
alias nuld='nvm use 14.17.3 && nd'

alias num='nvm use 16.13.0'
alias numd='nvm use 16.13.0 && nd'

#git相关命令
alias g=git
alias gc='f() { g clone "$*"; }; f'
alias gi='g init'

alias gb='git branch'
alias gba='git branch -a'
alias gbv='git branch -v'

alias gck='f() { g checkout "$*"; }; f'
alias gcb='f() { g checkout -b "$*"; }; f'
alias gbd='f() { g branch -d "$*"; }; f'

alias gps='git push'
alias gpl='git pull'

alias gs='g status'
alias ga='g add .'
alias gci='ga && f() { g commit -m "$*"; }; f'
alias gcp='ga && f() { g commit -m "$*" && gps; }; f'


alias grv='git remote -v'
alias gg='git log --oneline --decorate --color --graph'

总结

通过熟练操作以上alias,一定可以帮助各位提高日常开发的效率,减少重复的机械操作。

相关推荐
晴空万里藏片云9 分钟前
elment Table多级表头固定列后,合计行错位显示问题解决
前端·javascript·vue.js
曦月合一10 分钟前
html中iframe标签 隐藏滚动条
前端·html·iframe
奶球不是球12 分钟前
el-button按钮的loading状态设置
前端·javascript
kidding72316 分钟前
前端VUE3的面试题
前端·typescript·compositionapi·fragment·teleport·suspense
Σίσυφος19002 小时前
halcon 条形码、二维码识别、opencv识别
前端·数据库
学代码的小前端2 小时前
0基础学前端-----CSS DAY13
前端·css
css趣多多4 小时前
案例自定义tabBar
前端
姑苏洛言5 小时前
DeepSeek写微信转盘小程序需求文档,这不比产品经理强?
前端
林的快手5 小时前
CSS列表属性
前端·javascript·css·ajax·firefox·html5·safari
匹马夕阳5 小时前
ECharts极简入门
前端·信息可视化·echarts