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

相关推荐
桂月二二4 小时前
探索前端开发中的 Web Vitals —— 提升用户体验的关键技术
前端·ux
hunter2062065 小时前
ubuntu向一个pc主机通过web发送数据,pc端通过工具直接查看收到的数据
linux·前端·ubuntu
qzhqbb5 小时前
web服务器 网站部署的架构
服务器·前端·架构
刻刻帝的海角5 小时前
CSS 颜色
前端·css
浪浪山小白兔7 小时前
HTML5 新表单属性详解
前端·html·html5
lee5767 小时前
npm run dev 时直接打开Chrome浏览器
前端·chrome·npm
2401_897579657 小时前
AI赋能Flutter开发:ScriptEcho助你高效构建跨端应用
前端·人工智能·flutter
limit for me7 小时前
react上增加错误边界 当存在错误时 不会显示白屏
前端·react.js·前端框架
浏览器爱好者7 小时前
如何构建一个简单的React应用?
前端·react.js·前端框架
qq_392794488 小时前
前端缓存策略:强缓存与协商缓存深度剖析
前端·缓存