V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jeffjade
V2EX  ›  分享发现

推荐 Win 下一款软件: Cmder(操纵命令行必备!);

  •  
  •   jeffjade · 2016-01-13 21:37:41 +08:00 · 25249 次点击
    这是一个创建于 3241 天前的主题,其中的信息可能已经有所发展或是发生改变。

    连续消耗 5 个小时时间,
    整理下了Cmder浅薄的使用经验,
    一边敲敲打打的码字,
    一边搜索,查证,自测,
    终成一拙文:Win 下必备神器之 Cmder;分享给大家(原文臭长,就不贴于此了)。

    希望有用;欢请指正;若拍请从轻; Thanks 么么哒。

    70 条回复    2018-03-07 01:42:42 +08:00
    jeffjade
        1
    jeffjade  
    OP
       2016-01-13 21:56:04 +08:00
    @广大的 V 友,怎么解决**自定义 aliases**时候, 报出的 **无效的宏定义。**这一问题呢?
    Tink
        2
    Tink  
       2016-01-13 22:02:00 +08:00
    我用的 Babun
    learnshare
        3
    learnshare  
       2016-01-13 22:04:02 +08:00
    Cmder + Gow
    jeffjade
        4
    jeffjade  
    OP
       2016-01-13 22:07:38 +08:00
    @Tink 感谢分享,涨姿势了。看了下 Babun :其内置两个 shell ,默认是 zsh,另一个是 bash ;(*@ο@*) 哇~赞啊。抽空试试。

    也建议你试用下 cmder; 其 min 版本,才 4.26M ;解压就能用;粘贴复制异常方便;内置 cmder 和 powerShell 。
    jeffjade
        5
    jeffjade  
    OP
       2016-01-13 22:10:07 +08:00
    @learnshare 感谢分享;再一次被张姿势了。
    dofy
        6
    dofy  
       2016-01-13 22:11:16 +08:00
    @Tink win 下尝试过 Babun ,超级棒。
    lypdarling
        7
    lypdarling  
       2016-01-13 22:13:10 +08:00 via Android
    babun+1
    jeffjade
        8
    jeffjade  
    OP
       2016-01-13 22:15:42 +08:00
    笔者感觉这文章题目必须得改下了;
    笔者的见识短浅,用了几款同类型软件后,就觉得这 Cmder 堪称必备;
    原来,还有这么多优秀的产品;只能说: 图样图森破~。
    请原谅我这无知~
    wuhuaji
        9
    wuhuaji  
       2016-01-13 22:22:43 +08:00
    配合 Gow 使用,有奇效。
    (仍远比不上原声的类 Unix 环境)
    ebony0319
        10
    ebony0319  
       2016-01-13 22:25:09 +08:00 via Android
    打卡收藏,明天去看看
    Niphor
        11
    Niphor  
       2016-01-13 22:35:04 +08:00
    cmder 字体不太好看(手拙调不出好看的)
    配置文件坏了 会变成 comenmu,这时手残会导致右键菜单变 2 个
    启动还比较慢
    jeffjade
        12
    jeffjade  
    OP
       2016-01-13 22:50:54 +08:00
    @ebony0319 愿能有所获。
    congeec
        13
    congeec  
       2016-01-13 22:54:18 +08:00 via iPad
    Conemu + clink
    iloveayu
        14
    iloveayu  
       2016-01-13 22:58:38 +08:00 via Android
    一个 Conemu 就一篮子提升了。真不知为何 cmd.exe 一直这么烂。
    jeffjade
        15
    jeffjade  
    OP
       2016-01-13 23:11:04 +08:00
    @iloveayu 这一点,表示也想不明白。
    jeffjade
        16
    jeffjade  
    OP
       2016-01-13 23:13:45 +08:00
    @congeec Cmder 下面核心除了 msysgit 就是 这两个组件( Conemu + clink );不过后者还没怎么用 😳。
    jeffjade
        17
    jeffjade  
    OP
       2016-01-13 23:14:24 +08:00
    @wuhuaji 这一点,与你的认知是一样的。欧耶。
    Mountain
        18
    Mountain  
       2016-01-13 23:25:43 +08:00
    cmder 能不能像这样用 C:\windows\system32\cmd.exe /K ping google.com
    jeffjade
        19
    jeffjade  
    OP
       2016-01-13 23:48:39 +08:00
    @Niphor 之前也是调了很久(包括 monokai )。最后发现还是默认的比较好看。
    ini
        20
    ini  
       2016-01-14 00:26:31 +08:00 via Android
    难道没人用 msys2 ?
    way2explore2
        21
    way2explore2  
       2016-01-14 00:30:01 +08:00 via Android
    @Tink 握手
    PandaChen
        22
    PandaChen  
       2016-01-14 09:34:07 +08:00
    请问楼上的这些 cmder 、 babun 和 cygwin 有啥区别……@Tink @jeffjade
    jeffjade
        23
    jeffjade  
    OP
       2016-01-14 09:35:55 +08:00   ❤️ 1
    @Mountain 你好。刚才试了下,虽然不能类似那样使用;却可以直接 ping /k google.com 这样使用。
    Mountain
        24
    Mountain  
       2016-01-14 09:45:31 +08:00
    @jeffjade 我可能表达错了……我想的是用 launchy 启动 cmder ,用 launchy 在 cmder.exe 的路径后面加参数执行命令……
    jeffjade
        25
    jeffjade  
    OP
       2016-01-14 09:54:37 +08:00
    @PandaChen 浅薄如我,看法是:
    差异化在于:他们都非常强大好用。
    Cmder 将 Conemu + clink + msysgit 打包在一起; 内置 cmder 和 PowerShell ;
    Babun :也整合了 Conemu , 其内置两个 shell ,默认是 zsh ( bash ),这点很赞耶;
    Cmder 不需要安装,即压即用; Babun 需要安装下。
    cygwin 早期用过,影响不深了。据悉它的衍生产品 gow 耶不错。
    jeffjade
        26
    jeffjade  
    OP
       2016-01-14 10:03:22 +08:00
    @Mountain 这样子哈;目前用 launchy 只用来作为程序启动器了。 cmder 因为不需要安装,即压即用,所以本身无法用 launchy 打开,许要折腾下了。素以 介个嘛 目前还不清楚,抱歉。
    tairan2006
        27
    tairan2006  
       2016-01-14 10:08:46 +08:00
    babun+1
    Mountain
        28
    Mountain  
       2016-01-14 10:12:19 +08:00
    https://github.com/cmderdev/cmder/issues/370

    看样子我的需求无解……
    jeffjade
        29
    jeffjade  
    OP
       2016-01-14 10:22:17 +08:00
    @Mountain 表示抱歉了。
    昨天也有折腾,遇到类似的需求;也未解决:
    想着写一个 bat 脚本,自动帮着以 powerShell 方式打开 cmder ,再让其自动帮着跑 Gulp Watch 这样子,却没找见 命令参数带入进去的方式,只好搁浅了。有待继续折腾, fighting 。
    Mountain
        30
    Mountain  
       2016-01-14 10:24:36 +08:00
    伙计你别这样……你有什么好抱歉的……
    jeffjade
        31
    jeffjade  
    OP
       2016-01-14 10:32:09 +08:00
    @Mountain 没能帮上什么忙咯;
    找到好办法还望共享下哈,开心充实每一天。
    jy02201949
        32
    jy02201949  
       2016-01-14 10:43:10 +08:00
    @ini 我就在用。。。因为就这个不乱码,其他 cmder babun gitbash 在我的 win10 里面都有乱码,原本是命令提示符乱码,输出可以显示中文,改了编码,提示符不乱码了,输出中文又不行了,然后试用了一下 msys2 ,乱码没了,该有的功能都有, pacman 就像是在用 Arch Linux , msys2+zsh ,屌屌的,再没换过
    yougg
        33
    yougg  
       2016-01-14 10:43:46 +08:00
    MingW + mintty
    harry890829
        34
    harry890829  
       2016-01-14 10:44:19 +08:00
    cmder 确实很棒
    xin1090
        35
    xin1090  
       2016-01-14 10:47:55 +08:00
    cmder 够用了
    hei1000
        36
    hei1000  
       2016-01-14 11:30:12 +08:00
    @lypdarling babun+1
    billion
        37
    billion  
       2016-01-14 11:53:11 +08:00
    babun + 10086
    LioMore
        38
    LioMore  
       2016-01-14 12:21:42 +08:00
    我启动 cmder 之后,他把我的环境变量全部输出了,看着好乱

    这个要如何配置?
    hjc4869
        39
    hjc4869  
       2016-01-14 12:23:09 +08:00
    @ini msys2+conemu
    1000copy
        40
    1000copy  
       2016-01-14 12:36:11 +08:00
    我遇到了 cmder 的几个问题,本来的好心情消失不少。简直了。
    1. cmder 在 pin 上后经常变成 conemu ,然后我的配置就丢了,极为奇怪。
    2.另外,在 cmder 内使用 git config credential.helper wincred 怎么也无作用,直到换成 msysgit 才行。

    babun ,和 gow 也是才知道,可以试试,毕竟完全不用 windows 不现实。现在不现实。毕竟 oh my zsh 够叼。 taste it later ...

    多谢
    1000copy
        41
    1000copy  
       2016-01-14 12:38:40 +08:00
    conemu 一堆配置,无爱。
    PandaChen
        42
    PandaChen  
       2016-01-14 14:18:04 +08:00
    @jeffjade 非常感谢,看了一下,感觉配置 babun 和 cmder 是不怎么要配置,比 cygwin 方便
    jeffjade
        43
    jeffjade  
    OP
       2016-01-14 14:20:21 +08:00
    @LioMore 请问下: “把环境变量全部输出了”作何解的呢?
    jeffjade
        44
    jeffjade  
    OP
       2016-01-14 14:22:17 +08:00
    @PandaChen cmder 的确不需要怎么配置就能用。只需 按需 设置下就行。 babun 还没开始折腾。
    h404bi
        45
    h404bi  
       2016-01-14 14:28:41 +08:00
    用过一段时间 msys2 ,只要不装太多 package 还不错的。后面感觉太重了,而 git bash v2 恰好变为了 based on msys2 ,所以转用了 git bash 。外加 Scoop on Powershell 组合使用, Win 下的命令行需求基本已经满足。
    zealic
        46
    zealic  
       2016-01-14 15:05:27 +08:00
    ConEmu + msys2 + mintty ,再配合 vagrant ,非常好用的 Unix 环境了。
    jeffjade
        47
    jeffjade  
    OP
       2016-01-14 17:15:23 +08:00
    @zealic 又涨姿势了, thx 。
    zongwan
        48
    zongwan  
       2016-01-14 18:01:20 +08:00   ❤️ 1
    @jeffjade

    edit your E:\tool\cmder\vendor\profile.ps1


    Set-Alias st "E:\tool\Sublime Text Build 3083 x64\sublime_text.exe"
    Set-Alias ll "ls"
    Set-Alias e explorer

    function Git-Status { git status }
    Set-Alias gs Git-Status

    e.p.
    # open current folder
    e .

    # sublime open code folder
    st ./code/
    shunia
        49
    shunia  
       2016-01-14 18:16:05 +08:00
    推荐过 Babun.cmder 优势只在于安装包较小,功能上欠缺一些.
    Babun 与 cygwin 集成在一起,可以自动更新,安装新软件可以自动从 cygwin 上查找,这点非常有用.
    整体感受上,Babun 更接近 Linux 系统一些.cmder 兼容了 win 的一些东西.

    都使用过一段时间,目前只使用 Babun,日常 git 操作,ssh 等全用它.
    zonghua
        50
    zonghua  
       2016-01-14 18:19:02 +08:00 via iPhone
    直接用 Git
    enlau0912
        51
    enlau0912  
       2016-01-14 18:27:21 +08:00
    cmder 確實很棒,稍微設置一下免折騰就挺好用的。主要還是那句是你在用工具,不是工具在用你。
    aivier
        52
    aivier  
       2016-01-14 18:29:38 +08:00
    图标太丑,不用
    jeffjade
        53
    jeffjade  
    OP
       2016-01-14 19:30:50 +08:00
    @aivier 你指的是那个 “入( lamda )”么?这个是可以更改的。
    jeffjade
        54
    jeffjade  
    OP
       2016-01-14 19:59:32 +08:00
    @zongwan 十分感谢;解惑了。(刚才测试 OK )这样配置下 用着就更爽了;再次感谢。
    aivier
        55
    aivier  
       2016-01-14 20:05:15 +08:00
    @jeffjade 看了一圈没找到
    jeffjade
        56
    jeffjade  
    OP
       2016-01-14 20:30:42 +08:00
    @aivier
    Cmder 预设的命列列提示符号是λ;如果用着不习惯,可以将这个字元改成 Mac / Linux 环境下常见的$符号,具体操作如下:
    编辑 Cmder 安装目录下的 vendor\init.bat 批处理文件(min 版本 15 行),把:
    @prompt $E[1;32;40m$P$S{git}{hg}$S$_$E[1;30;40m {lamb} $S$E[0m
    修改成以下即可:
    @prompt $E[1;32;40m$P$S{git}{hg}$S$_$E[1;30;40m $$ $S$E[0m
    这个亲测在 cmder.exe 可以,但在 PowerShell.exe 需要另行设置:
    打开文件 config/cmder.lua ( prompt.lua 也有版本是这个),将第二行中的λ修改为 Linux 下常用的$即可.

    如果要改软件 icon ,那个目录下 icons 改下即可。
    LioMore
        57
    LioMore  
       2016-01-14 21:00:36 +08:00 via Android
    @jeffjade 谢谢,我发现问题了,系统环境变量中不能带有双引号,原来我的输出是错误提示信息。

    还有一个问题想请问一下,我启动的时候 tabm 名称会从 cmd 变成 node 再变成 cmd ,启动要等一会儿才会完毕,这是一定会这样吗?
    seewhy
        58
    seewhy  
       2016-01-14 22:22:56 +08:00
    我还是觉得 babun 比较好,可以使用 oh-my-zsh
    regent
        59
    regent  
       2016-01-14 22:24:58 +08:00
    谢谢,长见识了
    jeffjade
        60
    jeffjade  
    OP
       2016-01-14 23:42:36 +08:00
    @LioMore 感谢共享出来。

    这个我这边也是。还不清楚为何会这样。
    jeffjade
        61
    jeffjade  
    OP
       2016-01-14 23:44:23 +08:00
    @seewhy 内置了 oh-my-zsh 确实好啊,之后闲了也折腾玩儿下。
    LioMore
        62
    LioMore  
       2016-01-15 12:01:58 +08:00
    @jeffjade 表示很想知道解决方案,开启要等好久
    416877140
        63
    416877140  
       2016-05-26 16:25:10 +08:00
    @LioMore 问题相同...感觉是启动脚本的问题...不过我这标题是变成了 npm...
    用 cmder 替代 cmd 后,用在运行里面打 cmd 这种方式启动 cmder 就是秒开...按 cmder 图标就是要等几秒钟才能用...
    麻烦问下你解决了么?
    noon
        64
    noon  
       2017-09-13 00:26:58 +08:00 via Android
    @Mountain 问题解决了吗?
    Mountain
        65
    Mountain  
       2017-09-13 15:07:06 +08:00
    @noon #64 并没有
    tan836101783
        66
    tan836101783  
       2018-01-25 15:54:35 +08:00   ❤️ 1
    @jeffjade @Mountain @noon 找到把命令传入 ConEmu 的方法啦(虽然过了这么久了)。
    新人第一次回复,说得不好还请手下留情。
    Cmder 我还没试过,不过既然 Cmder 的核心也是用的 ConEmu,应该也是一致的。
    把"/c"或"/k"开关改成"-run"开关即可。
    在 ConEmu 的 github 上给出一个帮助开关"/?",运行"ConEmu.exe /?"会弹出帮助窗口(其实在菜单里点开也行,我现在才意识到平时那么不起眼的“帮助”是多么有用呀。。本来设置里那么多选项也是看得头晕,迟迟没找答案,也难怪楼上有仁兄说道“ conemu 一堆配置,无爱。”),帮助里第三行赫然显示一句"ConEmu.exe -run Far.exe -w" 啊哈没错就是你啦!——"-run",Win+r 试了下成功传入命令并运行!不过执行完毕会退出,没法像 cmd 的"/k"一样保留窗口不退出
    Mountain
        67
    Mountain  
       2018-01-25 16:11:20 +08:00

    @tan836101783 #66
    我在在 unchy 里试了一下,并不好用_(:з」∠)_
    Mountain
        68
    Mountain  
       2018-01-25 16:11:52 +08:00
    @Mountain #67 launchy
    tan836101783
        69
    tan836101783  
       2018-01-25 17:31:27 +08:00
    @Mountain 从 Git 上下了个 mini 版试了下下,还真不支持 ConEmu 的"-run"开关,不过提供了"/TASK"开关,要不换个法子吧?
    可以把预先的命令写入到"Startup">"Tasks"里,并起个名字,然后"cmder.exe /task 起好的名字" 就可以了,不过这样跟直接运行 bat 文件好像也没差很多呀。。。
    还是说考虑下 ConEmu 吧?对中文的支持不算太糟,就是中文多了会有点挤,囧。。(此处安利会不会被攻击呀?还是说要加个手动滑稽?)
    另外有点好奇 Cmder 里的"About/Help"跟 ConEmu 的一模一样,就连命令,github 链接也丝毫不敢改动,是为了尊重版权?还是说开发者也把不起眼的“帮助”给忽略了? 23333
    WyAtu
        70
    WyAtu  
       2018-03-07 01:42:42 +08:00
    @jeffjade 求教无效的宏定义这个解决?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1545 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 17:02 · PVG 01:02 · LAX 09:02 · JFK 12:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.