Cmder --- The Ultimate Command Line Tool for Windows
Intro to Cmder
As a Windows user, now and then, I have to use the Windows CMD to run some simple command. Compared to its Linux counterpart (bash, for example), the Windows CMD is totally disaster: it does not support smart TAB completion, it does not support pipes and it has a dumb UI… Fortunately, there is a tool called cmder which tries to enhance our experience of using consoles on Windows systems. It has a decent UI with different color themes, support for Linux-style tab completion and more… It is far better than windows CMD.
Cmder is a combination of several good tools: Conemu, clink and git for Windows. In order to use its full functionality, it is better to install the full version. After download, just extract the zip package into your program folder. Then you can launch cmder using launch tools such as Listary.
How to Use
Start cmder in a particular directory
Sometimes, we want to start cmder in current directory. We can configure this easily:
- Open the cmder executable as an Administrator
- Go the directory where cmder is extracted, e.g.,
.\cmder.exe /REGISTER ALLcommand
Then go to a directory and right click, you will see a contextual menu option
Cmder Here (See image below).
|Ctrl+T or Ctrl+Shift+1||start a new console tab|
|Ctrl+W||close a console tab|
|Ctrl+R||search command history|
|Win+Alt+P||open settings page|
Fore more keyboard shortcut, see here.
UTF-8 decoding related issue
In order to show Chinese characters properly, we need to set up console to use UTF-8 decoding. Also, the font used should support Chinese characters. First we need to set up the font options, as shown below:
Show directories with Chinese characters in their names
In its default setting, cmder can not display directories with Chinese characters in their names as shown below.
This can be easily fixed. Open the setting page, and go to
Startup -> Environment, in the text box, use the following setting:
Error message containing Chinese characters
When we are executing some command, the error message from the command may contains Chinese characters, which are not displayed properly:
$ pandoc –pdf-engine=xelatex -V CJKmainfont=KaiTi test.md -o test.pdf Error producing PDF. ! Undefined control sequence. l.67 …锟斤拷搴︽湁闂锛屽簲璇ユ妸\textwidth鎹㈡垚
This can be fixed by adding
chcp utf-8 or
chcp 65001 in the environment
settings (see the above setting image). After applying this change, restart
cmder and rerun the command, we find that the error message is correctly
$ pandoc –pdf-engine=xelatex -V CJKmainfont=KaiTi test.md -o test.pdf Error producing PDF. ! Undefined control sequence. l.67 …��度有问题，应该把\textwidth换成
Spurious character is inserted in command prompt when we press up arrow
When we press up arrow “↑” to bring up the history command, then delete the command, we may find that spurious character is inserted at command prompt. This issue is explained more thoroughly here, here and here.
In order to fix it, go to the cmder installation folder, the edit the file
For older versions of Cmder
Replace the following snippet
if env == nil then lambda = "λ" else lambda = "("..env..") λ" end
if env == nil then lambda = "$" else lambda = "("..env..") $" end
For latest versions of Cmder
For the latest version of cmder (version 1.3.8), it seems that this old issue
still persists. The
clink.lua file have changed. Find the line
local lambda = "λ"
and replace it with
local lambda = "$"
Restart cmder and the problem should disappear.
License CC BY-NC-ND 4.0