windows下终端神器之Cmder

前言

在windows下面其实你们不多用cmd,也不多人专门去学bat编程,实在是太不方便。那么一个黑糊糊的小窗口,界面比小霸王学习机还土,不能随意改变尺寸, 不支持多tab。长此以往,也没人关心在windows下面如何像linux下的terminal那样操做了。在网上瞎逛时,偶尔看到有人说起cmder和conemu才知道有个近似linux下的bash的东西。装上cmder试了一下果真很酷,因此写点东西来推广一下。linux

安装

安装cmder有两种包可选择,一种是mini, 一种是full. cmder实际上是包装了几种软件,主要是clink, git, conemu, 若是你要本身装git就能够选择mini, 不然安装full。
这里是官方主页, 下载地址就在主页靠中间的位置。
建议安装full, 而后直接解压缩就能够用了
若是是安装的mini包,那么这里须要配置Git的安装目录。
由于个人Git是安装在D盘的Program Files下的,跨盘同时路径中有空格,我折腾了很久都无法在cmder的setting里配置好Task->bash的路径
后面想了个完美方法,就是在cmder安装目录下的vendor文件夹里建一个软连接到git的安装目录里
win7下能够用下面命令git

C:\cmder\vendor> mklink /D git-for-windows "D:\Program Files\Git"
 symbolic link created for git-for-windows <<===>> D:\Program Files\Git

配置

路径

把cmder的目录加入到系统PATH里
右键个人电脑->属性->高级->环境变量->PATH->Edit
把cmder的目录添加到系统PATH里
图片描述shell

右键注册

为了右键菜单有从这里打开cmder, 能够执行下面操做
打开administor权限的cmd.exe
图片描述
在打开的cmd.exe里执行下面命令
图片描述编程

执行完成以后,右键菜单以下
图片描述vim

ls中文支持

默认安装好后,ls命令会显示中文乱码,须要打开setting窗口(win+alt+p),设置LANG
图片描述windows

界面

打开cmder的窗口以下
图片描述
能够看到界面很是舒服,并有不一样颜色显示浏览器

提示符修改

若是喜欢用$作提示符,找到vendor/clink.luabash

cmder_prompt = string.gsub(cmder_prompt, "{cwd}", cwd)
if env == nil then
    lambda = "λ"
else
    lambda = "("..env..") λ"
end
clink.prompt.value = string.gsub(cmder_prompt, "{lamb}", lambda)
end

把上面的λ替换成$重启cmder就好了,我以为无所谓,因此没改服务器

使用

快捷键

cmder的快捷键和浏览器的很相近,若是要用爽cmder必定记住经常使用快捷键ssh

  • 双击Tab, 能够路径补全
  • 能够用Ctrl+T新建Tab页
  • 利用Ctrl-W关闭当前Tab页
  • 使用Ctrl-n来切换到第n个Tab页
  • Alt+Enter切换到全屏
  • Alt+Shift+n开启你的settings->Tab下的terminals
  • Ctrl-r反向搜索历史命令
  • Win+Alt+p打开设置窗口
  • Ctrl-u 删除文字到行首
  • Ctrl-A 移动光标到行首
  • Ctrl-E 移动光标到行尾

操做

  • 双击选中,而后右键粘贴
  • 左键选中文字, Ctrl-V粘贴

问题

ls时快时慢

ls是系统中用的最多的命令,但不幸的是,当我用softlink在vendor目录里创建到Git的连接后,在Cmder里输入ls后的返回时快时慢,慢的时候大于10秒,这绝对是不能容忍的。

解决方法一

后来我从u-tools里下载了windows下的ls, 地址为https://u-tools.com/download_...
解压后放到bin里,这样就没有问题了。
不过ls的输出有时不对齐
图片描述

解决方法二

再后来我把Git卸载重装后,ls的问题也好了。 Git里的command比msys2里的还新,用msys2里的ls替换Git里的也不会有ls返回时快时慢的问题
这个好像过一段时间又会出问题

解决方法三

可能和系统权限有关系,因此有下面的方法

mkpasswd -l -c > C:\cmder\vendor\git-for-windows\etc\passwd
mkgroup -l -c > C:\cmder\vendor\git-for-windows\etc\group

打开 C:cmdervendorgit-for-windowsetcnsswitch.conf

# Begin /etc/nsswitch.conf

  passwd: files # db
  group: files # db

  db_enum: cache builtin

  db_home: env windows cygwin desc
  db_shell: env windows # cygwin desc
  db_gecos: env # cygwin desc

  # End /etc/nsswitch.conf

主要是把group和passwd后面的db给注释掉

遗留问题

若是真的做为ssh终端工具,那么一个很严重的问题已经没法支持一些特殊字符,好比vim-airline的那些字符,或者是vim的一些theme, 但愿之后cmder在这方面有大的改进

后言

cmder集成了不少linux的命令以及git,使用起来很是方便。有了它,基本也能够像Linux下同样,利用它作不少操做和控制工做。具体的用法还须要你们本身去摸索,我在这里只是抛砖引玉,但愿你们能够找到它的更多用处。我找到的一个用途是用它来ssh到服务器。我以为目前在windows上最好的ssh工具是xshell,不幸地是它不能用于商业用途,而Cmder能够凑和用做windows下的ssh工具,结合tmux的会话保存功能,仍是很爽的。

相关文章
相关标签/搜索