\BEGIN_LINK{document:home} \IMAGE{image:4coder_logo}{width:200} \END_LINK These are the default key bindings in 4coder version \VERSION The following bindings apply in all situations: \SECTION{Global Bindings} \BEGIN_LIST \BEGIN_ITEM - Create a new panel with a vertical split \END_ITEM \BEGIN_ITEM - Create a new panel with a horizontal split \END_ITEM \BEGIN_ITEM - Close a panel \END_ITEM \BEGIN_ITEM - Change active panel \END_ITEM \BEGIN_ITEM - change active panel backwards \END_ITEM \BEGIN_ITEM - New file dialogue \END_ITEM \BEGIN_ITEM - Open file dialogue \END_ITEM \BEGIN_ITEM - Open file dialogue in other panel \END_ITEM \BEGIN_ITEM - Kill buffer dialogue \END_ITEM \BEGIN_ITEM - Switch open buffer dialogue \END_ITEM \BEGIN_ITEM - Open color and font selection GUI \END_ITEM \BEGIN_ITEM - Open a debug information GUI \END_ITEM \BEGIN_ITEM - Change to footer build panel \END_ITEM \BEGIN_ITEM - Close footer build panel \END_ITEM \BEGIN_ITEM - Goto next error/jump location \END_ITEM \BEGIN_ITEM - Goto previous error/jump location \END_ITEM \BEGIN_ITEM - Goto first error/jump location \END_ITEM \BEGIN_ITEM - Launch basic build (calls build.bat, build.sh, or Makefile) \END_ITEM \BEGIN_ITEM - Execute arbitrary shell/terminal command in arbitrary buffer \END_ITEM \BEGIN_ITEM - Repeat previous shell/terminal command \END_ITEM \BEGIN_ITEM - Execute 4coder internal command \END_ITEM \BEGIN_ITEM - Show scrollbar \END_ITEM \BEGIN_ITEM - Hide scrollbar \END_ITEM \BEGIN_ITEM - Toggle filebar \END_ITEM \BEGIN_ITEM - Toggle mouse input); \BEGIN_ITEM - Toggle fullscreen mode); \BEGIN_ITEM - Exit 4coder); \BEGIN_ITEM - Launch shell command set in a loaded project \END_ITEM \BEGIN_ITEM - Launch shell command set in a loaded project \END_ITEM \BEGIN_ITEM - Launch shell command set in a loaded project \END_ITEM \BEGIN_ITEM - Launch shell command set in a loaded project \END_ITEM \BEGIN_ITEM - Launch shell command set in a loaded project \END_ITEM \BEGIN_ITEM - Launch shell command set in a loaded project \END_ITEM \BEGIN_ITEM - Launch shell command set in a loaded project \END_ITEM \BEGIN_ITEM - Launch shell command set in a loaded project \END_ITEM \BEGIN_ITEM - Launch shell command set in a loaded project \END_ITEM \BEGIN_ITEM - Launch shell command set in a loaded project \END_ITEM \BEGIN_ITEM - Launch shell command set in a loaded project \END_ITEM \BEGIN_ITEM - Launch shell command set in a loaded project \END_ITEM \BEGIN_ITEM - Launch shell command set in a loaded project \END_ITEM \BEGIN_ITEM - Launch shell command set in a loaded project \END_ITEM \BEGIN_ITEM - Launch shell command set in a loaded project \END_ITEM \BEGIN_ITEM - Launch shell command set in a loaded project \END_ITEM \END_LIST Long name commands that can be typed in after for infrequently triggered commands. \SECTION{4coder Internal Command } \BEGIN_LIST \BEGIN_ITEM "load project" - Load a project.4coder file, ditching any previously loaded project \END_ITEM \BEGIN_ITEM "open all code" - Open all code files in the current directory, extensions set in config.4coder, default to C/C++ extensions \END_ITEM \BEGIN_ITEM "open all code recursive" - Like "open all code" but recurses through folders \END_ITEM \BEGIN_ITEM "dos lines" - Switch the bufer to 'dos' line ending mode CRLF \END_ITEM \BEGIN_ITEM "nix lines" - Switch the bufer to 'nix' line ending mode LF \END_ITEM \END_LIST The following bindings apply in general text files and most apply in code files, but some are overriden by other commands. \SECTION{Text File Bindings} \BEGIN_LIST \BEGIN_ITEM - Insert character \END_ITEM \BEGIN_ITEM - Set cursor position to mouse position \END_ITEM \BEGIN_ITEM - Set mark position to mouse position \END_ITEM \BEGIN_ITEM - Set mark position to mouse position \END_ITEM \BEGIN_ITEM - Move left \END_ITEM \BEGIN_ITEM - Move right \END_ITEM \BEGIN_ITEM - Delete character \END_ITEM \BEGIN_ITEM - Delete character \END_ITEM \BEGIN_ITEM - Backspace character \END_ITEM \BEGIN_ITEM - Backspace character \END_ITEM \BEGIN_ITEM - Move up \END_ITEM \BEGIN_ITEM - Move up \END_ITEM \BEGIN_ITEM - Move to end of line \END_ITEM \BEGIN_ITEM - Move to beginning of line \END_ITEM \BEGIN_ITEM - Move up one whole page \END_ITEM \BEGIN_ITEM - Move down one whole page \END_ITEM \BEGIN_ITEM - Seek right, stop at whitespace \END_ITEM \BEGIN_ITEM - Seek left, stop at whitespace \END_ITEM \BEGIN_ITEM - Seek up, stop at blank line \END_ITEM \BEGIN_ITEM - Seek down, stop at blank line \END_ITEM \BEGIN_ITEM - Move up ten lines \END_ITEM \BEGIN_ITEM - Move down ten lines \END_ITEM \BEGIN_ITEM - Delete word backwards \END_ITEM \BEGIN_ITEM - Delete word forwards \END_ITEM \BEGIN_ITEM - snipe_token_or_word \END_ITEM \BEGIN_ITEM Note: 'the range' in the following commands refers to the text between the mark and cursor. \END_ITEM \BEGIN_ITEM - Set mark to the cursor position \END_ITEM \BEGIN_ITEM - Replace a substring in the range \END_ITEM \BEGIN_ITEM - Copy text from the range \END_ITEM \BEGIN_ITEM - Delete the text in the range \END_ITEM \BEGIN_ITEM - Center the active view on the cursor \END_ITEM \BEGIN_ITEM - Move the view so that it's left edge is near the cursor's current x position \END_ITEM \BEGIN_ITEM - Begin an incremental search through the current buffer \END_ITEM \BEGIN_ITEM - Create a jump location list of all loaded exact matches of a string \END_ITEM \BEGIN_ITEM - Create a jump location list of all loaded substring matches of a string without case sensitivity \END_ITEM \BEGIN_ITEM - Goto a specific line number \END_ITEM \BEGIN_ITEM - Convert text in the range to lowercase \END_ITEM \BEGIN_ITEM - Kill the current buffer \END_ITEM \BEGIN_ITEM - Toggle line wrapping on the current buffer \END_ITEM \BEGIN_ITEM - Swap the cursor and mark positions \END_ITEM \BEGIN_ITEM - Reload the current buffer from the file system \END_ITEM \BEGIN_ITEM - Begin an iterative query replace \END_ITEM \BEGIN_ITEM - Begin an iterative query replace to replace the word under the cursor \END_ITEM \BEGIN_ITEM - Begin a reversed incremental search through the current buffer \END_ITEM \BEGIN_ITEM - Save the current buffer with it's given filename \END_ITEM \BEGIN_ITEM - Begin an incremenal search through the current buffer for the word under the cursor \END_ITEM \BEGIN_ITEM - Create a jump location list of all loaded exact matches of the word under the cursor \END_ITEM \BEGIN_ITEM - Convert text in the range to uppercase \END_ITEM \BEGIN_ITEM - Paste from the clipboard \END_ITEM \BEGIN_ITEM - Toggle the virtual whitespace system \END_ITEM \BEGIN_ITEM - Paste the next item on the clipboard, 4coder keeps a finite history of past 64 copies \END_ITEM \BEGIN_ITEM - Copy text from the range and delete the range (aka cut) \END_ITEM \BEGIN_ITEM - Redo \END_ITEM \BEGIN_ITEM - Undo \END_ITEM \BEGIN_ITEM - Decrease the line wrap width for the current buffer \END_ITEM \BEGIN_ITEM - Increase the line wrap width for the current buffer \END_ITEM \BEGIN_ITEM - Toggle the show whitespace option \END_ITEM \BEGIN_ITEM - Clean trailing whitespace from all lines \END_ITEM \BEGIN_ITEM - Interpret jump location under cursor and jump to it, lock the next/prev jump commands to this jump location list (only in read only files) \END_ITEM \BEGIN_ITEM - Like previous command but tries to open the jump location in the view that currently holds the jump location list \END_ITEM \END_LIST The following commands only apply in C/C++ files where the lexer (syntax highlighting) is turned on. \SECTION{Text File Bindings} \BEGIN_LIST bind(context, key_right, MDFR_CTRL, seek_alphanumeric_or_camel_right); bind(context, key_left, MDFR_CTRL, seek_alphanumeric_or_camel_left); bind(context, '\n', MDFR_NONE, write_and_auto_tab); bind(context, '\n', MDFR_SHIFT, write_and_auto_tab); bind(context, '}', MDFR_NONE, write_and_auto_tab); bind(context, ')', MDFR_NONE, write_and_auto_tab); bind(context, ']', MDFR_NONE, write_and_auto_tab); bind(context, ';', MDFR_NONE, write_and_auto_tab); bind(context, '#', MDFR_NONE, write_and_auto_tab); bind(context, '\t', MDFR_NONE, word_complete); bind(context, '\t', MDFR_CTRL, auto_tab_range); bind(context, '\t', MDFR_SHIFT, auto_tab_line_at_cursor); bind(context, 't', MDFR_ALT, write_todo); bind(context, 'y', MDFR_ALT, write_note); bind(context, 'r', MDFR_ALT, write_block); bind(context, '[', MDFR_CTRL, open_long_braces); bind(context, '{', MDFR_CTRL, open_long_braces_semicolon); bind(context, '}', MDFR_CTRL, open_long_braces_break); bind(context, 'i', MDFR_ALT, if0_off); bind(context, '1', MDFR_ALT, open_file_in_quotes); bind(context, '2', MDFR_ALT, open_matching_file_cpp); bind(context, '0', MDFR_CTRL, write_zero_struct); bind(context, 'I', MDFR_CTRL, list_all_functions_current_buffer); \END_LIST