如何让 windows 命令行如 mac 般丝滑?

337 天前
 firhome

标题可能起的不对,10 多年 mac 用户,最近买了台 windows 机器做开发。

发现命令行完全看不懂怎么玩,一个 PowerShell 可以打开好几个不同的工具,分不清 cmd 和 PowerShell 的区别。

现在装了 git bash ,PowerShell 里又可以打开 git bash 了。 简直晕了。。。

在 mac

gss = git status

再比如 open . 打开当前目录之类的。。。

然后很多 mac 设置的 alias 不知道 windows 怎么设置?或者有什么设置工具推荐吗?

4825 次点击
所在节点    Windows
42 条回复
libook
337 天前
不丝滑==不了解

等你了解 cmd/powershell 像对 bash 那么了解了,你就会觉得丝滑了。

话说 windows 上有 WSL(2),可以给你一个 Linux Shell ,那个可以比 mac 更丝滑。
fatigue
337 天前
windows terminal 默认启动 wsl 就行了,用了好多年了
mcluyu
337 天前
下个微软终端, 然后装 wsl ,wsl 里再装你 mac 上用的 shell 比如 zsh ,oh my zsh 那不就一样了
Vegetable
337 天前
1. gss 是 zsh(oh my zsh)的内置的 alias ,gss='git status --short' 并不是什么 mac 的功能,这一点你用了十多年不知道吗?

2. mac 的 open 对应 windows 的 start 和 linux 的 xdg-open ,手边没有 windows 我也不确定了,不过 windows 打开当前目录我一般用 explorer .

3. windows 目前主流是用 terminal 启动 powershell ,但是体验上并不算太好,https://learn.microsoft.com/zh-cn/windows/terminal/

4. windows 也有类似 oh my zsh 的 oh my posh ,可惜启动速度超级慢

5. 想在 windows 获得流畅的命令行体验,还是 WSL 靠谱
dhb233
337 天前
这么说的话,用习惯了 Linux 的命令行,还觉得 mac 的很奇怪呢。很多命令名字一样,用法不一样
littlewing
337 天前
WSL2
Kaiv2
337 天前
建议安装 linux 系统使用
star9029
337 天前
Windows terminal + nushell + 各种命令行小工具
pendulum
337 天前
这个要花时间学的,不想学就 wsl
zhazi
337 天前
windows 的盘符和目录转义符让我完全没兴趣用它的 terminal
kinboy
337 天前
现在开发环境都在 WSL2 里面,无比丝滑,配合 VSCode remote ssh
快捷键 win + ` 随时呼出
WSL 系统本地存储默认在 C 盘,记得装完以后迁移到其他盘去
godall
337 天前
在 Linux/mac 里:
alias ll=ls -l

在 Windows 里:
doskey ll=dir /l

是完全一样的,仅仅就是 alias 与 doskey 的区别
yangzzzzzz
337 天前
可以试试 ps7 + starship https://starship.rs/
yangzzzzzz
337 天前
或者楼上说的 装个 wsl2 开发环境装在 wsl 里 https://juejin.cn/post/7064161133996802061
xmuli
337 天前
写过一篇扫盲 《 Shell 、Bash 、CMD 、PowerShell 的区别》 https://xmuli.tech/posts/d0c4daee/

然后 Windows 使用优雅的终端《 Windows 打造颜值和实用可媲美 Linux 的终端:Pwsh7 + OhMyPosh 》 https://xmuli.tech/posts/5b69dcad/

应该解疑 op “不丝滑”的原因,另推荐直接使用 pwsh7 取代 GitBash
--来自一个三大系统都会使用到的用户
byte10
337 天前
把 windows 安装成 pve 就可以了,然后拿 M1 AIR + vscode remote ,完美体验。
error451
337 天前
@libook powershell 丝滑?你真搞笑。
bash 巨简单的操作, 在 powershell 跟屎一样。
比如 ls | grep log 找出结果中包含 log 的行 ,知道 powershell 里怎么做吗? get-ChildItem | Where-Object Name -like "*log*"
注意啊 -like "log" 还只能精确匹配 log .
我不知道命令咋用了,bash 就是简单的 ls --help
powershell 给你来个 Get-help Get-ChildItem , 然后 帮助也不是那么详细,动不动给你来个更多信息请访问网址 XXX ..... 你特么的在逗我吗? 你家服务器随便就能上外网是吧。

grep 不论是查找标准输入输出,还是查找文件内容, 统统搞定。
powershell 给你分成三个, 标准输入输出的 得用 Where-Object , 查找文本得用 Select—String , 查找内容得用 Select-Content

设计 powershell 的人脑子里有屎是吧? 敢情 power 的意思就是命令越复杂越好是吧?

如何设置 alias ? 请参考 get-help set-alias 用法是 set-alias -name (alias) -value (command)

ps 高版本的 powershell 估计也意识到太过分了,内置了一大堆 alias 比如 get-childitem -> ls 等等, 但是, 仍然是...
wjx0912
337 天前
别折腾了,这是不可能的事
version
337 天前
实际上没那么多命令行要操作吧...天天重复命令行...还不如使用 vscode 配置 tasks 界面上操作选择任务.
git 老老实实安装个 sourcetree 看些别人的更新日志.开源项目的代码变动.也方便.点点点就好.
Alias4ck
337 天前
弄个 wsl 一样丝滑

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1011691

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX