zsh配置自定义快捷命令

本篇文章分两部分 分别是:配置使用zsh快速打开vs code、自定义git 命令

首先要知道的是 zsh有个配置文件 .zshrc 想实现上述两个功能都要在这个配置文件中做文章,介绍两个命令:

bash 复制代码
open .zshrc  //在默认的文本编辑器中打开 .zshrc
source .zshrc  //立即应用.zshrc的修改而无需重启终端

ok 进入正题 首先是配置快捷命令打开 vscode 在.zshrc文件的末尾添加如下代码

bash 复制代码
# 快捷打开vscode
function code {
    if [[ $# = 0 ]]
    then
        open -a "Visual Studio Code"
    else
        local argPath="$1"
        [[ $1 = /* ]] && argPath="$1" || argPath="$PWD/${1#./}"
        open -a "Visual Studio Code" "$argPath"
    fi
}

这段代码使用的是Zsh脚本语言,函数的逻辑如下:

  • 如果没有传入参数,则使用open -a "Visual Studio Code"命令打开Visual Studio Code。
  • 如果传入了参数,则将第一个参数赋值给argPath变量。
  • 如果参数是绝对路径(以/开头),则将argPath设置为参数本身。
  • 如果参数是相对路径(以./开头),则将argPath设置为当前工作目录加上参数去掉./的部分。
  • 最后,使用open -a "Visual Studio Code" "$argPath"命令打开Visual Studio Code,并将argPath作为文件路径传递给它。

执行source .zshrc应用修改,进入要打开的项目文件,执行 code .打开vs code

ok 理解上述内容后 就会收到启发 那是不是所有的命令都可以利用这种方式在 .zshrc文件中写这么一个函数来进行简化 没错 可以

比如执行git merge master Git会自动打开文本编辑器帮助你编辑合并提交信息,但其实大多数情况下 我们只需要默认的提交信息就好不需要额外编辑,那我们就需要手动关闭编辑器,当然有个方法可以在命令中加入 --no-edit,git merge --no-edit master 可以在合并时不打开编辑器,那么如果我们想一次合入呢?命令就变成 git merge --no-edit master --squash 可以说是 很长

接下来对 merge 命令进行改造

在.zshrc文件末尾添加如下代码:

bash 复制代码
## 自定义merge命令
function gm(){
   git merge --no-edit  "$1"
}

function gm-s(){
   git merge --no-edit  "$1" --squash
}

添加好之后执行source .zshrc应用修改
git merge --no-edit master 可简写成 gm master
git merge --no-edit master --squash 可简写为 gm-s master

相关推荐
福兮说4 小时前
设计稿是 #4A7C6F,页面量出来是 #4B7C6F:HEX、HSL、透明度、canvas 来回转的七个坑
前端·javascript·css·canvas
郑州光合科技余经理4 小时前
海外版外卖加盟:总站与分站配送规则怎么分开管
java·开发语言·前端·后端·uni-app·php·ai编程
小呆呆6665 小时前
副业搞起来,小说,漫画,漫剧的成本优化思路
前端·后端·面试
Dovis(誓平步青云)5 小时前
浇水提醒刚弹出又消失,植物状态别只存一个百分比
开发语言·前端·javascript·pdf·ecmascript·电脑
码艺-Alimjan6 小时前
Vben Admin 新增维吾尔语 Vben-Modal的关键坑之一
前端·javascript·vue.js
可乐鸡翅yeah_7 小时前
hls.js 手动自定义 http 请求 loader,修改请求头实战
开发语言·前端·javascript·网络协议·http·ecmascript·m3u8在线
IT_陈寒7 小时前
Vite静态资源导入这个坑我帮你们踩过了
前端·人工智能·后端
广州华水科技7 小时前
大坝安全监测解决方案:单北斗GNSS形变监测系统应用与维护
前端
yivifu8 小时前
中文古籍电子书注释集成
前端·javascript·python·beautifulsoup·epub
默_笙8 小时前
🛴 从散件到整机:DeepAgents 与 Agent 身上预留的那些"插槽"(前置介绍)
前端·javascript