好久不见🌈各位小伙伴们💪🏻~ 最近在公司一直使用win系统,为了能愉快的编码那必须得折腾一下啦! 所以本篇和小伙伴分享一下,win系统上弄个智能的命令行工具。觉得可以就折腾吧~
前言
为了让自己用起来舒服,前后还是折腾了几个软件😂。为了我的命令行能够有智能提示,查看命令历史,插件,漂亮的颜色,脚本等等功能,我想起了我在 macOS 中使用的 命令行工具fish。为了能在vscode中使用、能在任何地方随时打开并进入 fish 命令行,于是折腾开始~
折腾嘛,还是得有个小目标:
- 安装并使用fish
- 能在任意位置使用终端并进入 fish
- vscode默认终端使用 fish
先看看效果图:
▲任意位置使用终端
▲vscode使用效果
1.关于 fish
直接上官网:fishshell.com/。
漂亮的官网,智能的命令行工具。简洁的阐述一下:fish是一个智能且用户友好的命令行 适用于Linux、macOS和其他系列的shell。
Q: 哦~ 天呐,没看到说支持Windows系统。怎么办😰?
A: 不要慌,多看看官网介绍文档。
啊哈~ 看到啦~ 有的,有的,有的。
如上图中的3个选项。我第一次折腾的时候选择的是第一个Cygwin官网:cygwin.com/,虽然能够成功使用上fish,但是吧,就是感觉不太舒服。
于是,我又开始折腾本篇分享的主角:MSYS2官网:www.msys2.org/
2.安装 MSYS2
折腾第一步:进入官网,翻看文档。 小伙伴一定要学会多看看文档啊!这里就不介绍了,直接开始安装:
简单粗暴,下载安装即可。
注意:下载地址是 github,国内网络可能下载失败! 所以还是简单高科技一下吧😄。
如图所示,安装目录会有这些.exe,都可以双击运行啦~ 至于他们几个有什么区别,就不细说了。想知道的就看看官网吧!
OK,双击运行msys2.exe:
安装MSYS2大功告成!如图现在已经可以在这里面使用一些Linux命令啦~
提示:Ctrl+L 可清屏。
3.MSYS2 安装 fish
在 fish 官网我们看到如下图所示:
可以通过 pacman -S fish 命令来安装 fish。 试试呗~ 又不要钱
输入 Y,开始安装 fish。
相当快~😎
此时命令行输入fish 即可开始体验 fish 啦~ 如图:
输入 cmd 再按 Tab 键,智能提示出来啦~ 😎
4.让MSYS2默认使用fish
关于这个问题,还是兜兜转转了一会儿呢。可以看看MSYS2官网,官网有这样写到:
看样子需要编辑编辑 msys2_shell.cmd 这个文件啦~ 然后启动的时候,需要双击运行这个msys2_shell.cmd,而不是目录下的那些.exe文件。问题不大,毕竟咱是想要在任意位置打开命令行,肯定得有个入口文件。打开文件可看到这里有个:
我们把这个 LOGINSHELL=bash 改成 LOGINSHELL=fish 即可:
OK,当我们双击运行 msys2_shell.cmd 的时候,可以看到:
至此,MSYS2默认使用fish搞定。
5.让win11终端默认使用fish
win11的终端已默认使用 Windows Terminal啦, 如果你不是 win11, 需要自己安装个Windows Terminal咯。
开搞~
▲打开终端设置
▲点击 添加新配置文件
▲配置名称,和命令行,命令行就是 MSYS2安装目录下的 msys2_shell.cmd 并加上参数 -defterm -here -no-start点击保存。
如: C:\msys64\msys2_shell.cmd -defterm -here -no-start
之前折腾😓忘了加上启动参数~ 启动终端直接就是启动MSYS2软件了。
这里贴上终端的配置文件路径(win+R运行即可):
%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json
▲配置终端默认使用fish
至此,我们可以在任意位置开始使用 fish 啦,右键选择在终端中打开。 来看看效果图:
思考🤔,如果使用其他终端软件,能否配置并使用 fish 呢?毕竟不是所有人都喜欢使用 win11 系统的终端。
6.vscode 默认终端使用 fish
系统搞定了,那肯定自己的开发工具也得齐活一呀~
认真看了官网的小伙伴,估计已经知道怎么弄了吧😄。
直接先上个MSYS2官网图:
上图可见,其实和终端的配置几乎一样,就是去执行msys2_shell.cmd
详细步骤如下:
- 1.打开设置
- 2.点击源码视图
- 3.添加配置
{
"terminal.integrated.profiles.windows": {
// 这个 fish 指终端显示的名称
"fish": {
"path": "cmd.exe",
"args": [
"/c",
// 这里写你 msys2 安装的目录
// -ucrt64 可替换成 你喜欢的 msys2 终端类型
"C:\\msys64\\msys2_shell.cmd -defterm -here -no-start -ucrt64"
]
}
},
// 设置默认的终端 fish 就是上面配置终端名称
"terminal.integrated.defaultProfile.windows": "fish"
}
如图:
最终效果如下:
总结
- 官方文档还是很有必要看一看的,尤其是在调研/学习新东西的时候
- fish是一个智能简洁且强大的命令行工具,并且支持扩展自己的脚本,简直爽歪歪
- 试错了不要怕,思考一下它的原理,再去搜索对应的方法/答案
自己的生产力工具,就是要折腾的漂漂亮亮!
欢迎各位码友转发
及留言反馈
,觉得不错就点个赞
再走咯~