CMDer is a Windows frontend for the standard Windows Command Shell (aka cmd.exe). It supports ^C and ^V for Copy and Paste. It works by piping its input to a slave cmd.exe's stdin and it reads a pipe connected to stdout and writes that to the screen. Mostly it works like cmd.exe - just try what you are used to doing with cmd.exe and see if it works.
If you have been using CMDer previously, you might want to take a look at what's new.
There are some limitation, however:
The more command, when run thru piped stdout does not function. So CMDer implements its own more.
The following switches can be used:
- /Tn Expand tabs to n spaces (default 8)
- /S Squeeze multiple blank lines into a single line
- /P Expand FormFeed characters
- +n Start displaying the first file at line n
The following commands are accepted at the More prompt (»):
- F Finish without stopping
- Q Quit and flush stdout buffer
- [Enter] Display next line
- [Space] Display next page
- Some commands that read stdin in a non standard way (such as for getting a password) simply don't work. If any program hangs, you can press ^C to interrupt it. You can then try rerunning the program in via a bare command prompt. If you type ^Q "start cmd /c " will be inserted at the beginning of the current command line and you can easily then run using a bare command prompt. Or if you type ^K "start cmd /k " will be inserted at the beginning of the current command line and you can run using a bare command prompt that will remain after the command finishes.
Known problematic programs include
You can specify commands that are to be run automatically as tho a ^Q or ^K had been typed. Use the Edit > Edit cmd /c Commands menu item to enter commands separated by a comma (no spaces!) that are to be run in a bare "start cmd /c " command prompt. Use the Edit > Edit cmd /k Commands menu item to enter commands separated by a comma (no spaces!) that are to be run in a bare "start cmd /k " command prompt.
You can also specify commands - that are Windows programs - to be run immediately with no interaction with cmd at all by using the Edit > Edit Bypass-cmd Commands menu item to enter commands that will be spawned directly by CMDer. For example, this could be used so you can start your editor without waiting for a long running batch process to finish. Details
Note that for all three lists, case is significant and adding an extension means you must always type the extension.
- Double Clicking in the output window is post processed to make it more reasonable than what Windows produces by default. A "word" is delimited by whitespace, and to whatever extent possible, by the extra characters found in the cmder.ini file in the [Misc] section at WordDelims. The default extra delimiters are >|<,;!()&. Note that if one of these delimiters occurs in the middle of the text selected by Windows, it does not serve as a delimiter; only the ends of the text selected by Windows are post processed. To change these extra delimeters, edit cmder.ini using notepad while CMDer is not running.
- Beeping will occur if you type a file with ^G (0x07) in it or echo ^G. Unlike CMD, CMDer is more reasonable about how many times it beeps - the default is a max of 5 time between key strokes or mouse clicks (rather than beeping for every ^G as CMD does). You can change this max by editing cmder.ini using notepad while CMDer is not running and changing the value of BeepsMax in the [Misc] section.
Command line options:
Immediate Commands are Menu commands that can be run from the CMDer prompt. They start with / and include
Except for /u, you can run immediate commands at the same prompt as a command that will be passed to the slave cmd.exe:
- /c cls (CLear Screen)
- /# set tabs to # (where 1 <= # <= 40)
- /r print a ruler across the screen
- /e sync CMDer's environment with the cmd's - same as Edit > Sync Environments (^E)
- /u unset environemt variable in CMDER & cmd - Usage is /u [env-variable-name]
- /! run command immediately, bypassing cmd
- // stops processing of / (Immediate Commands) - i.e. "// //this" will discard the "//" and run "//this"
- /? print this help message
>/c /4 type fileWithTabsAt4.cpp
The Code Page for the main cmder window can be set using View > Code Page (Shift+Ctrl+C). By default it is set to ANSI.
The CDCP command is always run to set cmd.exe to whatever value you choose. Valid values for setting the code page are:
You can type 20-FF.txt (20-FF.txt is part of the distro for cmder) to see the effect of changing the code page to different values.
- 0 = default ANSI
- 1 = default OEM
- 8 = UTF8
- 1252 = Latin 1 ANSI
- 65000 = UTF7
- 65001 = UTF8
- #### = code page #### (e.g. 1251 = Russian, 1253 = Greek, etc.)
File Completion and Directory Completion work much the same as with cmd /F:ON using ^F and ^D respectively. Currently quotes are not inserted if needed (you'll have to take care of that yourself) and Shift+Ctrl+F and Shift+Ctrl+D are not yet implemented. Run help cmd for more info on this. Program Completion is also available using ^R - the PATH is searched for executables that begin with what has been typed.
The slave cmd.exe is run as hidden. You can return it to view with View > Show Cmd, tho there is nothing to see. If you interrupt a command with ^C, the current directory for the current drive will be retained; If the current drive is not C:, C: will be set to its last known directory (however cmder may be unaware of C:'s last directory if the directory was changed in a batch file while not logged to C:). All other drives will be set to the logged directory when they were last the logged drive.
If you find any bugs or wish any new features, send me an email. Known Problems