写了个基于 MacOS + iTerm2 自动打开窗口执行命令的工具
大家好,我是秋风,今天要给大家带来的这个工具是我最近写的 一个 npm 工具。mmt 是基于 MacOS + iTerm2 ,目的主要是为了提高日常生活中的效率,接下来我带大家看看一些常用的一些场景。
场景1:单项目多仓库
不知道你是否遇到过这样的场景,当你的项目是拥有前后端两个仓库,你总是需要记住多个命令或者是多个目录,而且需要开启多个终端窗口。例如我开发「木及简历」的时候,就会有这样的困扰,明明是非常重复的动作,每次开发的时候却要输入 路径 + 启动命令,这些步骤的重复是完全没有必要的。
以上便是我开发 mmt 的第一个场景痛点,使用了 mmt 后,你便可以节约以上琐碎的流程,下面通过一个例子来说明:
你的前端项目路径:path/case1-front 启动命令: npm run start
你的后端项目路径: pathcase1-backend 启动命令: npm run dev
使用 mmt 声明:
> cd path/case1-front
> mmt add case1 start
> cd path/case1-backend
> mmt add case1 dev
在任意命令窗口运行
> mmt run case1
效果如下:
行云流水般丝滑,再也不用输入那些枯燥重复的命令了。
场景2:多项目多仓库
当你一个人维护多个技术栈的项目,启动命令总是容易搞混,使用 Vue 项目启动命令可能是 npm run serve, 而使用 React 项目却是 npm run start, 有些项目还可能是 npm run dev。使用 mmt 可以抹平这种差异,并且你无须记忆你的工程路径。
举个例子:
你的项目1: projec1-vue, 启动命令 npm run serve
你的项目1: projec2-react, 启动命令 npm run start
使用 mmt 声明:
> cd path/projec1-vue
> mmt add project1 serve
> cd path/projec2-react
> mmt add project2 start
在任意命令窗口
> mmt run project1
> mmt run project2
效果如下:
场景3:脚本别名
当你想要同步运行一些流程线的工作,你就可以使用 add-sync 方式,例如我的某个本地项目需要依赖两个容器环境 e8a47b8aed91 和 e0d433a26388 这个时候运行 mmt 将会自动执行命令。
> mmt add-sync project1-dep "docker restart e8a47b8aed91"
> mmt add-sync project1-dep "docker restart e0d433a26388"
在任意命令窗口,即可启动两个 docker 实例
> mmt run project1-dep
为了能够让脚本复用性更上一个层次,你还可以通过导出配置,分享给你的朋友。
以上就是 mmt 的基础介绍,更多功能可以查看 github地址: https://github.com/hua1995116/mmt
如果你觉得对你有帮助欢迎提 Star 呀。
工具好用,当然也要配上好的域名,特地买了一个比较符合这个工具定位的域名 mmt.run
写了个基于 MacOS + iTerm2 自动打开窗口执行命令的工具的更多相关文章
- ssh伪登陆执行远程主机脚本命令 C程序基于ssh passwordless执行远程主机命令及基于配置文件的验证伪登陆执行命令
1,基于有密码及免秘钥在远程主机上执行命令及脚本 ssh -T ip "CLI or shell.sh"; 2,C程序实现上述功能--基于password-less
- C#使用管理员权限打开cmd执行命令行
最近遇到个棘手的问题,服务器远程连不上,但是ftp可以,可能远程连接的服务挂了或者防火墙入站规则有点问题,想要重启,得找机房工作人员,还是挺麻烦的 想了想可以上传个执行cmd命令的东西,然后远程访问触 ...
- Eclipse自动打开实现类原型的工具
http://eclipse-tools.sourceforge.net/implementors/ I always use this implementors plugin to find all ...
- H5拖动火狐自动打开新标签
写在前面的话:<H5拖动火狐自动打开新标签>原因是为什么百度很多了我就不细说,本文章只说我自己的解决方法... 自定义数据里写个链接,如果火狐自动打开就跳到这个链接 这个页面就写一句话:关 ...
- 如何彻底禁止 macOS Monterey 自动更新,去除更新标记和通知
请访问原文链接:如何彻底禁止 macOS Monterey 自动更新,去除更新标记和通知,查看最新版.原创作品,转载请保留出处. 作者主页:www.sysin.org 随着 macOS Montere ...
- Python 一键拉取Git分支源码自动解析并执行SQL语句
基于Python实现自动拉取Git分支源码自动解析并执行SQL语句 by:授客 QQ:1033553122 1.代码用途 开发过程中,研发人员会提交SQL更新脚本到Git源码库,然后测试负责去拉取这些 ...
- MacOS常用命令行工具
转自:https://blog.csdn.net/u014102846/article/details/77964493 https://ohmyz.sh/ https://github.com/ro ...
- 基于node和npm的命令行工具——tive-cli
前端开发过程中经常会用到各种各样的脚手架工具.npm全局工具包等命令行工具,如:Vue脚手架@vue/cli.React脚手架create-react-app.node进程守卫工具pm2.本地静态服务 ...
- 根据python上下文管理,写一个在读文件内容前后自动打开关闭文件的程序
利用上下文管理实现读f文件前后自动打开关闭文件#在本目录创建f文件,内容写monkey代码如下 import contextlib #导入模块1 @contextlib.contextmanager# ...
随机推荐
- javascript中的Ajax基础(一)
一.手写一个ajax 1 const xhr = new xmlHttpRequest() 2 3 xhr.open(请求方式:post get, 请求地址, 同步或者异步) 4 5 xhr.onre ...
- 【FAQ】HMS Core广告服务:如何获取正式广告位ID以及流量变现的受限情况
HMS Core广告服务开发指南中提到"xxxx为测试专用的广告位ID,App正式发布时需要改为正式的广告位ID",那么今天咱们就来说说,怎么获取正式的广告位ID. 测试广告位ID ...
- SMTP协议解读以及如何使用SMTP协议发送电子邮件
电子邮件协议中POP3协议用于接收邮件,SMTP协议用于发送邮件.SMTP的全称为Simple Mail Transfer Protocol,也就是简单邮件传输协议,字如其名. 相较于POP3而言 ...
- 漏洞复现:MS10-046漏洞
漏洞复现:MS10-046漏洞 实验工具1.VMware虚拟机2.Windows7系统虚拟机3.Kali 2021 系统虚拟机 1.在VMware中打开Windows7虚拟机和Kali 2021虚拟机 ...
- nginx + nginx-rtmp-module搭建直播流服务器实现推流实时直播功能
业务需求 最近公司在做养老相关的业务,现在需要子女从小程序端对家里的老人通过家庭终端交互屏进行实时看护. 解决方案 第三方的一些现成的服务:腾讯音视频通话.直播功能; 阿里的音视频通信;两者都挺好的, ...
- 你不知道的JS 中——yield
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- '@JvmDefault' is only supported since JVM target 1.8. Recompile with '-jvm-ta
Java 1.8加入了接口默认实现的方式. 那么在kotlin中如何使用呢? 可以在方法上加注解@JvmDefault 但直接加上后会编译会碰到一些错误提示.下面是解决方法. 问题 Logcat 提示 ...
- 溢出属性,定位,z-index,JS
溢出属性 1.visible(默认值):使溢出内容展示 2.hidden:隐藏溢出内容且不出现滚动条 3.scroll:隐藏溢出容器的内容,溢出的内容可以通过滚动呈现 4.auto:与scroll没啥 ...
- 通过Swagger接口导出模板文件时报错:URL.createObjectURL: Argument 1 is not valid for any of the 1-argument overloads.
问题描述:通过Swagger接口导出Excel模板文件时,报错:URL.createObjectURL: Argument 1 is not valid for any of the 1-argume ...
- 【JSOI2016】最佳团体
思路:二分答案+动态规划(结合dfs序) 类型:选/不选:最大比值 代码: #include<stdio.h> #include<bits/stdc++.h> using na ...