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

相关推荐
自动花钱机8 分钟前
WebUI问题总结
前端·javascript·bootstrap·css3·html5
拉不动的猪24 分钟前
简单回顾下pc端与mobile端的适配问题
前端·javascript·面试
拉不动的猪29 分钟前
刷刷题49(react中几个常见的性能优化问题)
前端·react.js·面试
snowfoootball1 小时前
基于 Ollama DeepSeek、Dify RAG 和 Fay 框架的高考咨询 AI 交互系统项目方案
前端·人工智能·后端·python·深度学习·高考
烛阴1 小时前
深入浅出:JavaScript ArrayBuffer 的使用与应用
前端·javascript
zhu12893035562 小时前
用Rust和WebAssembly打造轻量级前端加密工具
前端·rust·wasm
@PHARAOH2 小时前
WHAT - Electron 系列(一)
前端·javascript·electron
半句唐诗3 小时前
设计与实现高性能安全TOKEN系统
前端·网络·安全
小满zs3 小时前
React-router v7 第二章(路由模式)
前端·react.js
yanxy5123 小时前
【TS学习】(18)分发逆变推断
前端·学习·typescript