最近做跨年红包的项目,需要同时使用3-4个命令行ssh到服务器进行操作,远程编辑代码,非常需要一个顺手的命令行。高频率地使用了Windows下的一些命令行,在这儿把自己的使用体验以及目前使用的配置记录下来。
使用的命令行:
1.Windows CMD / PowerShell
Windows系统自带的命令行,没有Unix下的常用命令,文件路径写法不适应。如果要把Windows CMD当做主力命令行,那一定是开玩笑。
2.XShell
在一些搭建服务器后台的教程里推荐的命令行工具:XShell,对Windows CMD进行了包装,添加了一些常用的命令,比如ssh等,能同时打开若干个命令行界面。
但是这个命令行会用久就感觉奇怪了。
这个界面很像Windows应用程序,而不像一个命令行。界面上端的选项卡,以及各种图标,都是一些常用的操作,显得很不纯粹。XShell在启动的时候会有弹窗,严重影响了工作思路。XShell也不提供Unix的工作环境,没有常用命令cat, mkdir,奇怪的文件路径都很不好用。
3.cmder
cmder是Google Windows命令行时发现的。使用初体验可以用惊艳两个字来形容:
- 界面很简单,没有任何多余的东西。
- 继承自Sublime的Monokai主题的配色。
- 可以配置在文件夹中启动。
- 整合了Clink,可以在Windows环境下使用Unix的常用命令。
这里有一个cmder的简单介绍。
使用一天之后发现cmder的另一个优点:对鼠标滚轮的处理,在使用VIM编辑行数很多的文件时,可以直接使用滚轮操作光标标当前位置。但是也发现cmder的不合适的地方,cmder对复制粘贴的处理很奇怪,鼠标右键默认操作是粘贴,经常会出现误粘贴的情况。粘贴时自动去除换行符。在编辑代码及将保存的时候,出现这样的情况会很打扰思路。
4.Git Bash
Git Bash是在安装Git For Windows时自动安装的。在cmder出现异常粘贴的情况下,我紧急切换到Git Bash下进行工作。虽然外观没有cmder那么出色,Git Bash却非常的稳定。可以配置在文件夹中启动。可以在Windows环境下使用Unix的常用命令。但是用久了发现有个小问题,Git Bash不能一个窗口内开几个命令行。在多开命令行时进行窗口切换会很麻烦。
目前使用的命令行配置
将Git Bash和ConEmu结合使用,实现GitBash的多开功能。ConEmu是一个命令行窗口,可以用来运行任何命令行程序,可以同时打开多个命令行。cmder的多开功能就是使用ConEmu实现的。
配置方法在这里。
Git Bash显示中文乱码的问题(locale)
在笔记本上使用Git Bash的时候,发现中文显示乱码,不能输入中文。Google得到的结果都是一些很旧的解决方案。
msysgit 2.0(对应2.0版本以上的Git For Windows)以后的版本已经处理了unicode。
后来发现是locale的原因。键入locale能显示系统当前默认的语言。
在我的笔记本上locale是默认的"C"。因此Git Bash不能正确地解码中文。
针对Git Bash的locale问题,只需要修改locale为zh_CN.UTF-8即可:
在C:/Users/'username'/.bash_profile文件中添加下面内容
export LC_ALL=zh_CN.UTF-8
export LANG=zh_CN.UTF_8
然后重启Git Bash,键入locale,显示LANG和所有的LC_ 都为 zh_CN.UTF-8。
Problem Solved。
工欲善其事,必先利其器。尝试命令行期间各种折腾,目前命令行环境已经使用的很顺手了,只有折腾好了才能高效地工作啊。