NOTE: As in Quake, all action commands come in pairs. When prefixed by a '+', they activate the corresponding action, and when prefixed by a '-', they deactivate that action.

ACTION COMMANDS
===============
+attack
While active, causes the player to fire his active weapon.

+back
While active, causes the player to move backward.
See also: +forward

+forward
While active, causes the player to move forward.
See also: +back

+jump
Not implemented.

+klook
While active, causes +forward and +back to act like +lookup and +lookdown instead.
See also: +mlook, +lookup, +lookdown, +forward, +back

+left
While active, normally causes the player to turn to the left. However, as long as +strafe is active, this will cause the player to move to the left instead.
See alse: +right, +strafe, +moveleft

+lookdown
While active, causes the player to look down.
See also: +lookup, +klook

+lookup
While active, causes the player to look up.
See also: +lookdown, +klook

+mlook
While active, causes movement along the mouse's vertical axis to tilt the player's view up or down instead of moving the player forward or backward.
See also: +klook

+moveleft
While active, causes the player to move to the left.
See also: +moveright, +left, +strafe

+moveright
While active, causes the player to move to the right.
See also: +moveleft, +right, +strafe

+movedown
Not implemented.
See also: +moveup

+moveup
Not implemented.
See also: +movedown

+right
While active, normally causes the player to turn to the right. However, as long as +strafe is active, this will cause the player to move to the right instead.
See alse: +left, +strafe, +moveright

+speed
While active, all player movements occur at a rate faster than normal.
See also: cl_run

+strafe
While active, causes all +left and +right commands to act like +moveleft and +moveright instead.
See also: +left, +right, +moveleft, +moveright

+use
While active, causes the player to use any usable items in front of him/her.


OTHER COMMANDS AND CVARS
========================
bind <key> <command string>
(command)
If no parameters are specified, the entire list of bound keys will be printed to the console. If only <key> is specified, the binding for that specific key will be printed. If both <key> and <command string> are specified, <command string> will be bound to <key>.
See also: unbind, unbindall

alias <new command> <command string>
(command)
If specified with no parameters, will display a list of all current aliases. If only <new command> is specified, it will be removed from the list of aliases. If <command string> is also specified, it will be added to the list of aliases as <new command>.

centerview
(command)
Causes the player to look straight ahead.

chatmacro0
chatmacro1
chatmacro2
chatmacro3
chatmacro4
chatmacro5
chatmacro6
chatmacro7
chatmacro8
chatmacro9
(cvar: string)
These are all strings programmable to the function keys during a netgame. I've never used them, so I don't know specifically how to put them to use, nor is it probably necessary to keep them around once I implement a "say" command.

cheats
(cvar: boolean)
default: 0
When non-zero, cheats will be allowed in Nightmare difficulty. Eventually, this should also allow for cheating in network games.
See also: give, god, noclip, notarget

clear
(command)
Clears the console of all text.

cl_run
(cvar: boolean)
default: 0
When non-zero, the game will always treat movement commands as if +speed is active.
See also: +speed

cmdlist
(command)
Lists all commands currently supported by zDoom.

con_notifytime
(cvar: number)
default: 3
This is the number of seconds that new messages will stay at the top of the screen before they start scrolling away. Currently also the length of time that messages in the middle of the screen will be displayed, but this will probably be separated to another cvar in the next release.

dumpheap
(command)
Prints detailed information about the heap. Probably not very useful.

echo [string]
(command)
Prints [string] to the local console.

exec [script file]
(command)
Executes a series of commands stored in the [script file] as if they were typed in at the console.

gameversion
(command)
Prints the version number and compile date of zDoom.

gamma <level>
(command)
If <level> is not specified, displays the current gamma correction level. Otherwise, sets the gamma correction level to <level>. 1.0 is equivalent to no correction, while larger numbers translate into a brighter display, and smaller numbers translate into a darker display. 0.0 is invalid and will be rejected. Negative numbers are technically invalid as well but will be accepted solely for the novelty value doing so provides.

get [cvar]
Displays the value of [cvar]. This is probably redundant since typing the name of the cvar alone will accomplish the same thing.
See also: set

give [item]
(command)
Gives an item to the player. This is a cheat.
See also: cheats

god
(command)
Toggles God (Degreelessness) mode on/off. While active, you cannot be hurt by normal attacks (although telefragging will still kill you). Also known as iddqd. This is a cheat.

history
(command)
Prints the console command history.

idclev [level code]
(command)
Changes to the level specified by [level code].

idclip
See noclip.

iddqd
See god.

idmus [music]
(command)
Changes the currently playing music. [music] can be either a level code suitable for the idclev command or the name of a music lump.

idmypos
(command)
Toggles the value of the idmypos cvar between "0" and "1". This behavior is only maintained for semi-compatibility with the original idmypos cheat. Until I wrote this document, I didn't realize I was 
See also: idmypos (cvar)

idmypos
(cvar: boolean)
default: 0
When non-zero, constantly displays the player's current position and view angle.
See also: idmypos (command)

idspispopd
See noclip.

impulse <number>
(command)
This is currently a hack to get weapon selection to work with keybindings until I finalize the inventory system (at which time, weapon selections will be handled as they are in Quake2). <number> can be a value ranging between 1 and 8 inclusive and will select the corresponding weapon.

i_remapkeypad
(cvar: boolean)
default: 1
When non-zero, most keypad keys will act like the keys in the cursor island between the main keyboard and the numeric keypad. For instance, when this cvar is true, pressing "4" on the keypad is the same as pressing the left arrow on the cursor island. If you need to map different commands to these keys, set i_remapkeypad to "0".
See also: bind

key [value] ...
(command)
Translates all parameters on the command into their corresponding key values which are used internally for command and alias lookup. Probably not very useful.

kill <monsters>
(command)
If used as "kill monsters", will kill all monsters on the level. Otherwise, it will kill you instead. This command is broken in netgames, so don't use it unless you are playing a single player game.

logfile <Log File>
(command)
If <Log File> is not specified, will stop console logging. Otherwise, all console output is also sent to the <Log File>.

mouse_sensitivity
(cvar: number)
default: 1.0
The larger this cvar, the more sensitive the game is to mouse movements.

noclip
(command)
Toggles noclipping mode on/off. Also known as idclip and idspispopd. This is a cheat.
See also: cheats

notarget
(command)
Toggles notarget mode on/off. While active, monsters will not target you unless you hurt them first. This is a cheat.
See also: cheats

pause
(command)
Pauses or unpauses the game depending on whether or not it is currently paused.

quit
(command)
Exits zDoom.

r_drawplayersprites
(cvar: boolean)
default: 1
When zero, the game will not draw the player's weapon or muzzle flash.

r_viewsize
(cvar: string)
String containing the width and height of the current view window. This cvar is read only.
See also: sizeup, sizedown, screenblocks

screenblocks
(cvar: integer)
default: 10
This cvar is used during startup to determine the initial size of the view window.
See also: sizeup, sizedown, r_viewsize

set <cvar> <value>
(command)
If neither <cvar> nor <value> are specified, displays a list of all cvars and their associated values. (This behavior will probably be moved to a separate cvarlist command ala Quake2.) If only <cvar> is specified, it will be removed from the list of cvars if it is a custom cvar, otherwise nothing will happen. If <value> is also specified, <cvar> will be assigned the value <value>.
See also: get

show_messages
(cvar: boolean)
Default: 1
When this variable is non-zero, game messages will appear at the top of the screen.

sizedown
(command)
Decreased the size of the active display area.
See also: sizeup

sizeup
(command)
Increases the size of the active display area.
See also: sizedown

skill
(cvar: integer)
default: 2
This variable contains the game skill, ranging from 0 to 4 inclusive. Changes to this cvar only take effect when a new level is loaded.

snd_channels
(cvar: integer)
default: 8
This cvar determines the number of sound effect channels are handled by the high-level sound code. Currently, it does not actually change the number of channels used for sound effects. Until it does, you should keep it set to its default value.

snd_musicvolume
(cvar: integer)
default: 9
This is the volume at which music is played and can range from 0-64 inclusive. Currently, this only effects MOD music, and this may never change. To set the volume of MIDI music, use the standard Windows Mixer. Note that setting this near its maximum will probably result in distortions of the music. Also, changes to this cvar only take effect when you use the menu to change the volume.
See also: snd_sfxvolume

snd_samplerate
(cvar: integer)
default: 44100
This is the sampling rate at which sounds are mixed in the game. The value in this cvar will only take effect when MIDAS is restarted (usually when the game first starts). If you do not play MOD music from within the game, you can set this as low as 11025 without experiencing much perceptable loss of sound quality. If you try to set this to a rate your sound card does not support, the game will refuse to run, and you will need to edit the config.cfg file by hand. (I intend to eventually change this behavior.)

snd_sfxvolume
(cvar: integer)
default: 8
This is the volume at which sound effects are played and can range from 0-15 inclusive. Changes to this cvar only take effect when the menu is used to change the volume.
See also: snd_musicvolume

stop
(command)
Stops demo recording and exits the game.

toggle [cvar]
(command)
Toggles the value of [cvar] between zero and non-zero.

toggleconsole
(command)
Toggles display of the console on/off.

unbind [key]
(command)
Removes a keybinding from the specified key.
See also: bind, unbindall

unbindall
(command)
Removes all keybindings from every key. Use with care.
See also: bind, unbind

use_joystick
(cvar: boolean)
default: 0
This cvar was preserved from the original Doom's default.cfg and is not actually used anywhere.
See also: use_mouse

use_mouse
(cvar: boolean)
default: 1
This cvar was preserved from the original Doom's default.cfg and is not actually used anywhere.
See also: use_joystick

vid_defdriver
(cvar: string)
default: "NULL"
Specifies a display driver to use upon game startup. If the driver could not be found, the system default driver will be used instead.
See also: vid_describecurrentdriver, vid_describedrivers

vid_defheight
(cvar: integer)
default: 200
Specifies the default screen height to use if not overridden at the command line.
See also: vid_defwidth

vid_defwidth
(cvar: integer)
default: 320
Specifies the default screen width to use if not overridden at the command line.
See also: vid_defheight

vid_describecurrentdriver
(command)
Displays information about the video driver zDoom is currently using.
See also: vid_describedrivers, vid_defdriver

vid_describecurrentmode
(command)
Displays the resolution of the currently active video mode.
See also: vid_defwidth, vid_defheight

vid_describedrivers
(command)
Displays information about all DirectDraw drivers that could be found in your machine.
See also: vid_describecurrentdriver, vid_defdriver

vid_describemodes
(command)
Lists all resolutions supported by the current display driver.
See also: vid_describecurrentmode, vid_describecurrentdriver

vid_fps
(cvar: boolean)
default: 0
When non-zero, will display a frame-per-second meter at the bottom of the screen.

vid_nummodes
(cvar: integer)
Contains the number of resolutions supported by the current driver.
See also: vid_describemodes

wi_percents
(cvar: boolean)
default: 1
When zero, intermission stats are printed as absolute values such as "3 of 6". When non-zero, intermission stats are printed as percentages such as "50%", which is also the only behavior supported by the original Doom.