Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
4coder (4.1.X) cheatsheet listing all default bindings
Global
Alt b - toggle_filebar
- Toggles the visibility status of the current view's filebar.
Control h - project_go_to_root_directory
- Changes 4coder's hot directory to the root directory of the currently loaded project. With no loaded project nothing hapepns.
Control i - interactive_switch_buffer
- Interactively switch to an open buffer.
Control Shift i - list_all_functions_current_buffer
- Creates a jump list of lines of the current buffer that appear to define or declare functions.
Control k - interactive_kill_buffer
- Interactively kill an open buffer.
Alt m - build_in_build_panel
- Looks for a build.bat, build.sh, or makefile in the current and parent directories. Runs the first that it finds and prints the output to *compilation*. Puts the *compilation* buffer in a panel at the footer of the current view.
Alt Shift m - goto_first_jump
- If a buffer containing jump locations has been locked in, goes to the first jump in the buffer.
Alt n - goto_next_jump
- If a buffer containing jump locations has been locked in, goes to the next jump in the buffer, skipping sub jump locations.
Control n - interactive_new
- Interactively creates a new file.
Alt Shift n - goto_prev_jump
- If a buffer containing jump locations has been locked in, goes to the previous jump in the buffer, skipping sub jump locations.
Alt o - open_in_other
- Interactively opens a file in the other panel.
Control o - interactive_open_or_new
- Interactively open a file out of the file system.
Control Shift s - save_all_dirty_buffers
- Saves all buffers marked dirty (showing the '*' indicator).
Alt u - keyboard_macro_replay
- Replay the most recently recorded keyboard macro
Control u - keyboard_macro_start_recording
- Start macro recording, do nothing if macro recording is already started
Control Shift u - keyboard_macro_finish_recording
- Stop macro recording, do nothing if macro recording is not already started
Alt x - command_lister
- Opens an interactive list of all registered commands.
Alt Shift x - project_command_lister
- Open a lister of all commands in the currently loaded project.
Alt z - execute_any_cli
- Queries for an output buffer name and system command, runs the system command as a CLI and prints the output to the specified buffer.
Alt Shift z - execute_previous_cli
- If the command execute_any_cli has already been used, this will execute a CLI reusing the most recent buffer name and command.
Alt , - close_build_panel
- If the special build panel is open, closes it.
Control , - change_active_panel
- Change the currently active panel, moving to the panel with the next highest view_id.
Control Shift , - change_active_panel_backwards
- Change the currently active panel, moving to the panel with the next lowest view_id.
Alt . - change_to_build_panel
- If the special build panel is open, makes the build panel the active panel.
f1 - project_fkey_command
- Run an 'fkey command' configured in a project.4coder file. Determines the index of the 'fkey command' by which function key or numeric key was pressed to trigger the command.
f2 - project_fkey_command
- Run an 'fkey command' configured in a project.4coder file. Determines the index of the 'fkey command' by which function key or numeric key was pressed to trigger the command.
f3 - project_fkey_command
- Run an 'fkey command' configured in a project.4coder file. Determines the index of the 'fkey command' by which function key or numeric key was pressed to trigger the command.
Alt f4 - exit_4coder
- Attempts to close 4coder.
f5 - project_fkey_command
- Run an 'fkey command' configured in a project.4coder file. Determines the index of the 'fkey command' by which function key or numeric key was pressed to trigger the command.
f6 - project_fkey_command
- Run an 'fkey command' configured in a project.4coder file. Determines the index of the 'fkey command' by which function key or numeric key was pressed to trigger the command.
f7 - project_fkey_command
- Run an 'fkey command' configured in a project.4coder file. Determines the index of the 'fkey command' by which function key or numeric key was pressed to trigger the command.
f8 - project_fkey_command
- Run an 'fkey command' configured in a project.4coder file. Determines the index of the 'fkey command' by which function key or numeric key was pressed to trigger the command.
f9 - project_fkey_command
- Run an 'fkey command' configured in a project.4coder file. Determines the index of the 'fkey command' by which function key or numeric key was pressed to trigger the command.
f10 - project_fkey_command
- Run an 'fkey command' configured in a project.4coder file. Determines the index of the 'fkey command' by which function key or numeric key was pressed to trigger the command.
f11 - project_fkey_command
- Run an 'fkey command' configured in a project.4coder file. Determines the index of the 'fkey command' by which function key or numeric key was pressed to trigger the command.
f12 - project_fkey_command
- Run an 'fkey command' configured in a project.4coder file. Determines the index of the 'fkey command' by which function key or numeric key was pressed to trigger the command.
f13 - project_fkey_command
- Run an 'fkey command' configured in a project.4coder file. Determines the index of the 'fkey command' by which function key or numeric key was pressed to trigger the command.
f14 - project_fkey_command
- Run an 'fkey command' configured in a project.4coder file. Determines the index of the 'fkey command' by which function key or numeric key was pressed to trigger the command.
f15 - project_fkey_command
- Run an 'fkey command' configured in a project.4coder file. Determines the index of the 'fkey command' by which function key or numeric key was pressed to trigger the command.
f16 - project_fkey_command
- Run an 'fkey command' configured in a project.4coder file. Determines the index of the 'fkey command' by which function key or numeric key was pressed to trigger the command.
MouseWheel - mouse_wheel_scroll
- Reads the scroll wheel value from the mouse state and scrolls accordingly.
Control MouseWheel - mouse_wheel_change_face_size
- Reads the state of the mouse wheel and uses it to either increase or decrease the face size.
Startup - default_startup
- Default command for responding to a startup event
TryExit - default_try_exit
- Default command for responding to a try-exit event
File
TextInput - write_text_input
- Inserts whatever text was used to trigger this command.
Control a - replace_in_range
- Queries the user for a needle and string. Replaces all occurences of needle with string in the range between cursor and the mark in the active buffer.
Control c - copy
- Copy the text in the range from the cursor to the mark onto the clipboard.
Control d - delete_range
- Deletes the text in the range between the cursor and the mark.
Control Shift d - delete_line
- Delete the line the on which the cursor sits.
Control e - center_view
- Centers the view vertically on the line on which the cursor sits.
Control Shift e - left_adjust_view
- Sets the left size of the view near the x position of the cursor.
Alt f - list_all_substring_locations_case_insensitive
- Queries the user for a string and lists all case-insensitive substring matches found in all open buffers.
Control f - search
- Begins an incremental search down through the current buffer for a user specified string.
Control Shift f - list_all_locations
- Queries the user for a string and lists all exact case-sensitive matches found in all open buffers.
Control g - goto_line
- Queries the user for a number, and jumps the cursor to the corresponding line.
Control Shift g - list_all_locations_of_selection
- Reads the string in the selected range and lists all exact case-sensitive mathces in all open buffers.
Control j - snippet_lister
- Opens a snippet lister for inserting whole pre-written snippets of text.
Control Shift k - kill_buffer
- Kills the current buffer.
Control l - duplicate_line
- Create a copy of the line on which the cursor sits.
Control m - cursor_mark_swap
- Swaps the position of the cursor and the mark.
Control Shift o - reopen
- Reopen the current buffer from the hard drive.
Alt q - query_replace_selection
- Queries the user for a string, and incrementally replace every occurence of the string found in the selected range with the specified string.
Control q - query_replace
- Queries the user for two strings, and incrementally replaces every occurence of the first string with the second string.
Control Shift q - query_replace_identifier
- Queries the user for a string, and incrementally replace every occurence of the word or token found at the cursor with the specified string.
Control r - reverse_search
- Begins an incremental search up through the current buffer for a user specified string.
Control s - save
- Saves the current buffer.
Control Shift s - save_all_dirty_buffers
- Saves all buffers marked dirty (showing the '*' indicator).
Control t - search_identifier
- Begins an incremental search down through the current buffer for the word or token under the cursor.
Control Shift t - list_all_locations_of_identifier
- Reads a token or word under the cursor and lists all exact case-sensitive mathces in all open buffers.
Control v - paste_and_indent
- Paste from the top of clipboard and run auto-indent on the newly pasted text.
Control Shift v - paste_next_and_indent
- Paste the next item on the clipboard and run auto-indent on the newly pasted text.
Control x - cut
- Cut the text in the range from the cursor to the mark onto the clipboard.
Control y - redo
- Advances forwards through the undo history of the current buffer.
Control z - undo
- Advances backwards through the undo history of the current buffer.
Control 1 - view_buffer_other_panel
- Set the other non-active panel to view the buffer that the active panel views, and switch to that panel.
Control 2 - swap_panels
- Swaps the active panel with it's sibling.
Control Shift . - view_jump_list_with_lister
- When executed on a buffer with jumps, creates a persistent lister for all the jumps
home - seek_beginning_of_line
- Seeks the cursor to the beginning of the visual line.
pageup - page_up
- Scrolls the view up one view height and moves the cursor up one view height.
Control pageup - goto_beginning_of_file
- Sets the cursor to the beginning of the file.
delete - delete_char
- Deletes the character to the right of the cursor.
Alt delete - snipe_forward_whitespace_or_token_boundary
- Delete a single, whole token on or to the right of the cursor and post it to the clipboard.
Control delete - delete_alpha_numeric_boundary
- Delete characters between the cursor position and the first alphanumeric boundary to the right.
end - seek_end_of_line
- Seeks the cursor to the end of the visual line.
pagedown - page_down
- Scrolls the view down one view height and moves the cursor down one view height.
Control pagedown - goto_end_of_file
- Sets the cursor to the end of the file.
up - move_up
- Moves the cursor up one line.
Alt up - move_line_up
- Swaps the line under the cursor with the line above it, and moves the cursor up with it.
Control up - move_up_to_blank_line_end
- Seeks the cursor up to the next blank line and places it at the end of the line.
down - move_down
- Moves the cursor down one line.
Alt down - move_line_down
- Swaps the line under the cursor with the line below it, and moves the cursor down with it.
Control down - move_down_to_blank_line_end
- Seeks the cursor down to the next blank line and places it at the end of the line.
left - move_left
- Moves the cursor one character to the left.
Control left - move_left_whitespace_boundary
- Seek left for the next boundary between whitespace and non-whitespace.
right - move_right
- Moves the cursor one character to the right.
Control right - move_right_whitespace_boundary
- Seek right for the next boundary between whitespace and non-whitespace.
Control space - set_mark
- Sets the mark to the current position of the cursor.
backspace - backspace_char
- Deletes the character to the left of the cursor.
Alt backspace - snipe_backward_whitespace_or_token_boundary
- Delete a single, whole token on or to the left of the cursor and post it to the clipboard.
Control backspace - backspace_alpha_numeric_boundary
- Delete characters between the cursor position and the first alphanumeric boundary to the left.
return - if_read_only_goto_position
- If the buffer in the active view is writable, inserts a character, otherwise performs goto_jump_at_cursor.
Shift return - if_read_only_goto_position_same_panel
- If the buffer in the active view is writable, inserts a character, otherwise performs goto_jump_at_cursor_same_panel.
Mouse Left Press - click_set_cursor_and_mark
- Sets the cursor position and mark to the mouse position.
Mouse Left Release - click_set_cursor
- Sets the cursor position to the mouse position.
MoveMove - click_set_cursor_if_lbutton
- If the mouse left button is pressed, sets the cursor position to the mouse position.
ClickActiveView - click_set_cursor_and_mark
- Sets the cursor position and mark to the mouse position.
Code
TextInput - write_text_and_auto_indent
- Inserts text and auto-indents the line on which the cursor sits if any of the text contains 'layout punctuation' such as ;:{}()[]# and new lines.
Alt d - list_all_locations_of_type_definition
- Queries user for string, lists all locations of strings that appear to define a type whose name matches the input string.
Alt i - if0_off
- Surround the range between the cursor and mark with an '#if 0' and an '#endif'.
Alt r - write_block
- At the cursor, insert a block comment.
Alt t - write_todo
- At the cursor, insert a '// TODO' comment, includes user name if it was specified in config.4coder.
Alt Shift t - list_all_locations_of_type_definition_of_identifier
- Reads a token or word under the cursor and lists all locations of strings that appear to define a type whose name matches it.
Alt y - write_note
- At the cursor, insert a '// NOTE' comment, includes user name if it was specified in config.4coder.
Alt 1 - open_file_in_quotes
- Reads a filename from surrounding '"' characters and attempts to open the corresponding file.
Alt 2 - open_matching_file_cpp
- If the current file is a *.cpp or *.h, attempts to open the corresponding *.h or *.cpp file in the other view.
Control 0 - write_zero_struct
- At the cursor, insert a ' = {};'.
Alt - - delete_current_scope
- Deletes the braces surrounding the currently selected scope. Leaves the contents within the scope.
Alt / - place_in_scope
- Wraps the code contained in the range between cursor and mark with a new curly brace scope.
Control ; - comment_line_toggle
- Turns uncommented lines into commented lines and vice versa for comments starting with '//'.
Alt ' - select_next_scope_absolute
- Finds the first scope started by '{' after the cursor and puts the cursor and mark on the '{' and '}'.
Alt Shift ' - select_next_scope_after_current
- If a scope is selected, find first scope that starts after the selected scope. Otherwise find the first scope that starts after the cursor.
Alt [ - select_surrounding_scope
- Finds the scope enclosed by '{' '}' surrounding the cursor and puts the cursor and mark on the '{' and '}'.
Control [ - open_long_braces
- At the cursor, insert a '{' and '}' separated by a blank line.
Alt Shift [ - select_surrounding_scope_maximal
- Selects the top-most scope that surrounds the cursor.
Control Shift [ - open_long_braces_semicolon
- At the cursor, insert a '{' and '};' separated by a blank line.
Alt ] - select_prev_scope_absolute
- Finds the first scope started by '{' before the cursor and puts the cursor and mark on the '{' and '}'.
Alt Shift ] - select_prev_top_most_scope
- Finds the first scope that starts before the cursor, then finds the top most scope that contains that scope.
Control Shift ] - open_long_braces_break
- At the cursor, insert a '{' and '}break;' separated by a blank line.
Alt left - move_left_alpha_numeric_or_camel_boundary
- Seek left for boundary between alphanumeric characters or camel case word and non-alphanumeric characters.
Control left - move_left_alpha_numeric_boundary
- Seek left for boundary between alphanumeric characters and non-alphanumeric characters.
Alt right - move_right_alpha_numeric_or_camel_boundary
- Seek right for boundary between alphanumeric characters or camel case word and non-alphanumeric characters.
Control right - move_right_alpha_numeric_boundary
- Seek right for boundary between alphanumeric characters and non-alphanumeric characters.
tab - word_complete
- Iteratively tries completing the word to the left of the cursor with other words in open buffers that have the same prefix string.
Control tab - auto_indent_range
- Auto-indents the range between the cursor and the mark.
Shift tab - auto_indent_line_at_cursor
- Auto-indents the line on which the cursor sits.
Control Shift tab - word_complete_drop_down
- Word complete with drop down menu.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment