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,一定可以帮助各位提高日常开发的效率,减少重复的机械操作。

相关推荐
艾小逗41 分钟前
vue3中的effectScope有什么作用,如何使用?如何自动清理
前端·javascript·vue.js
小小小小宇3 小时前
手写 zustand
前端
Hamm4 小时前
用装饰器和ElementPlus,我们在NPM发布了这个好用的表格组件包
前端·vue.js·typescript
小小小小宇5 小时前
前端国际化看这一篇就够了
前端
大G哥5 小时前
PHP标签+注释+html混写+变量
android·开发语言·前端·html·php
whoarethenext5 小时前
html初识
前端·html
小小小小宇5 小时前
一个功能相对完善的前端 Emoji
前端
m0_627827525 小时前
vue中 vue.config.js反向代理
前端
Java&Develop5 小时前
onloyoffice历史版本功能实现,版本恢复功能,编辑器功能实现 springboot+vue2
前端·spring boot·编辑器
白泽talk5 小时前
2个小时1w字| React & Golang 全栈微服务实战
前端·后端·微服务