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

相关推荐
zhanshuo几秒前
不依赖框架,如何用 JS 实现一个完整的前端路由系统
前端·javascript·html
火柴盒zhang1 分钟前
websheet在线电子表格(spreadsheet)在集团型企业财务报表中的应用
前端·html·报表·合并·spreadsheet·websheet·集团财务
khalil3 分钟前
基于 Vue3实现一款简历生成工具
前端·vue.js
拾光拾趣录10 分钟前
浏览器对队头阻塞问题的深度优化策略
前端·浏览器
用户81221993672210 分钟前
[已完结]后端开发必备高阶技能--自研企业级网关组件(Netty+Nacos+Disruptor)
前端
万少15 分钟前
2025中了 聊一聊程序员为什么都要做自己的产品
前端·harmonyos
abigale032 小时前
webpack+vite前端构建工具 -11实战中的配置技巧
前端·webpack·node.js
专注API从业者3 小时前
构建淘宝评论监控系统:API 接口开发与实时数据采集教程
大数据·前端·数据库·oracle
Joker`s smile3 小时前
Chrome安装老版本、不同版本,自制便携版本用于前端调试
前端·chrome
weixin_416639973 小时前
爬虫工程师Chrome开发者工具简单介绍
前端·chrome·爬虫