[default_view]

keymap = [
	{ keys = [ "escape" ],		command = "escape" },
	{ keys = [ "ctrl+t" ],		command = "new_tab" },
	{ keys = [ "alt+t" ],		command = "new_tab --cursor" },
	{ keys = [ "T" ],		command = "new_tab --current" },
	{ keys = [ "W" ],		command = "close_tab" },
	{ keys = [ "ctrl+w" ],		command = "close_tab" },
	{ keys = [ "q" ],		command = "close_tab" },
	{ keys = [ "Q" ],		command = "quit --output-current-directory" },

	{ keys = [ "R" ],		command = "reload_dirlist" },
	{ keys = [ "z", "h" ],		command = "toggle_hidden" },
	{ keys = [ "ctrl+h" ],		command = "toggle_hidden" },
	{ keys = [ "\t" ],		command = "tab_switch 1" },
	{ keys = [ "backtab" ],		command = "tab_switch -1" },

	{ keys = [ "alt+1" ],		command = "tab_switch_index 1" },
	{ keys = [ "alt+2" ],		command = "tab_switch_index 2" },
	{ keys = [ "alt+3" ],		command = "tab_switch_index 3" },
	{ keys = [ "alt+4" ],		command = "tab_switch_index 4" },
	{ keys = [ "alt+5" ],		command = "tab_switch_index 5" },

	{ keys = [ "1" ],		command = "numbered_command 1" },
	{ keys = [ "2" ],		command = "numbered_command 2" },
	{ keys = [ "3" ],		command = "numbered_command 3" },
	{ keys = [ "4" ],		command = "numbered_command 4" },
	{ keys = [ "5" ],		command = "numbered_command 5" },
	{ keys = [ "6" ],		command = "numbered_command 6" },
	{ keys = [ "7" ],		command = "numbered_command 7" },
	{ keys = [ "8" ],		command = "numbered_command 8" },
	{ keys = [ "9" ],		command = "numbered_command 9" },

	# arrow keys
	{ keys = [ "arrow_up" ],	command = "cursor_move_up" },
	{ keys = [ "arrow_down" ],	command = "cursor_move_down" },
	{ keys = [ "arrow_left" ],	command = "cd .." },
	{ keys = [ "arrow_right" ],	command = "open" },
	{ keys = [ "\n" ],		command = "open" },
	{ keys = [ "home" ],		command = "cursor_move_home" },
	{ keys = [ "end" ],		command = "cursor_move_end" },
	{ keys = [ "page_up" ],		command = "cursor_move_page_up" },
	{ keys = [ "page_down" ],	command = "cursor_move_page_down" },
	{ keys = [ "ctrl+u" ],  	command = "cursor_move_page_up 0.5" },
	{ keys = [ "ctrl+d" ], 		command = "cursor_move_page_down 0.5" },

	# vim-like keybindings
	{ keys = [ "k" ],		command = "cursor_move_down" },
	{ keys = [ "l" ],		command = "cursor_move_up" },
	{ keys = [ "j" ],		command = "cd .." },
	{ keys = [ ";" ],		command = "open" },
	{ keys = [ "g", "g" ],		command = "cursor_move_home" },
	{ keys = [ "G" ],		command = "cursor_move_end" },
	{ keys = [ "r" ],		command = "open_with" },

	{ keys = [ "H" ],		command = "cursor_move_page_home" },
	{ keys = [ "L" ],		command = "cursor_move_page_middle" },
	{ keys = [ "M" ],		command = "cursor_move_page_end" },

	{ keys = [ "[" ],		command = "parent_cursor_move_up" },
	{ keys = [ "]" ],		command = "parent_cursor_move_down" },

	{ keys = [ "c", "d" ],		command = ":cd " },
	{ keys = [ "d", "d" ],		command = "cut_files" },
	{ keys = [ "y", "y" ],		command = "copy_files" },
	{ keys = [ "y", "n" ],		command = "copy_filename" },
	{ keys = [ "y", "." ],		command = "copy_filename_without_extension" },
	{ keys = [ "y", "p" ],		command = "copy_filepath" },
	{ keys = [ "y", "d" ],		command = "copy_dirpath" },

	{ keys = [ "p", "l" ],		command = "symlink_files --relative=false" },
	{ keys = [ "p", "L" ],		command = "symlink_files --relative=true" },

	{ keys = [ "delete" ],		command = "delete_files" },
	{ keys = [ "d", "D" ],		command = "delete_files" },

	{ keys = [ "p", "p" ],		command = "paste_files" },
	{ keys = [ "p", "o" ],		command = "paste_files --overwrite=true" },

	{ keys = [ "a" ],		command = "rename_append" },
	{ keys = [ "A" ],		command = "rename_prepend" },

	{ keys = [ "f", "t" ],		command = ":touch " },

	{ keys = [ " " ],		command = "select --toggle=true" },
	{ keys = [ "t" ],		command = "select --all=true --toggle=true" },
	{ keys = [ "V" ],		command = "toggle_visual"},

	{ keys = [ "w" ],		command = "show_tasks --exit-key=w" },
	{ keys = [ "b", "b" ],		command = "bulk_rename" },
	{ keys = [ "=" ],		command = "set_mode" },

	{ keys = [ ":" ],		command = ":" },
	{ keys = [ ";" ],		command = ":" },

	{ keys = [ "'" ],		command = ":shell " },
	{ keys = [ "m", "k" ],		command = ":mkdir " },
	{ keys = [ "c", "w" ],		command = ":rename " },

	{ keys = [ "/" ],		command = ":search " },
	{ keys = [ "|" ],		command = ":search_inc " },
	{ keys = [ "\\" ],		command = ":search_glob " },
	{ keys = [ "S" ],		command = "search_fzf" },
	{ keys = [ "C" ],		command = "subdir_fzf" },

	{ keys = [ "n" ],		command = "search_next" },
	{ keys = [ "N" ],		command = "search_prev" },

	{ keys = [ "s", "r" ],		command = "sort reverse" },
	{ keys = [ "s", "l" ],		command = "sort lexical" },
	{ keys = [ "s", "m" ],		command = "sort mtime" },
	{ keys = [ "s", "n" ],		command = "sort natural" },
	{ keys = [ "s", "s" ],		command = "sort size" },
	{ keys = [ "s", "e" ],		command = "sort ext" },

	{ keys = [ "m", "s" ],		command = "linemode size" },
	{ keys = [ "m", "m" ],		command = "linemode mtime" },
	{ keys = [ "m", "M" ],		command = "linemode sizemtime" },

	{ keys = [ "g", "r" ],		command = "cd /" },
	{ keys = [ "g", "c" ],		command = "cd ~/.config" },
	{ keys = [ "g", "d" ],		command = "cd ~/Downloads" },
	{ keys = [ "g", "e" ],		command = "cd /etc" },
	{ keys = [ "g", "h" ],		command = "cd ~/" },
	{ keys = [ "?" ],		command = "help" }
]

[task_view]

keymap = [
	# arrow keys
	{ keys = [ "arrow_up" ],	command = "cursor_move_up" },
	{ keys = [ "arrow_down" ],	command = "cursor_move_down" },
	{ keys = [ "home" ],		command = "cursor_move_home" },
	{ keys = [ "end" ],		command = "cursor_move_end" },

	# vim-like keybindings
	{ keys = [ "j" ],		command = "cursor_move_down" },
	{ keys = [ "k" ],		command = "cursor_move_up" },
	{ keys = [ "g", "g" ],		command = "cursor_move_home" },
	{ keys = [ "G" ],		command = "cursor_move_end" },

	{ keys = [ "w" ],		command = "show_tasks" },
	{ keys = [ "escape" ],		command = "show_tasks" },
]

[help_view]

keymap = [
	# arrow keys
	{ keys = [ "arrow_up" ],	command = "cursor_move_up" },
	{ keys = [ "arrow_down" ],	command = "cursor_move_down" },
	{ keys = [ "home" ],		command = "cursor_move_home" },
	{ keys = [ "end" ],		command = "cursor_move_end" },

	# vim-like keybindings
	{ keys = [ "j" ],		command = "cursor_move_down" },
	{ keys = [ "k" ],		command = "cursor_move_up" },
	{ keys = [ "g", "g" ],		command = "cursor_move_home" },
	{ keys = [ "G" ],		command = "cursor_move_end" },

	{ keys = [ "w" ],		command = "show_tasks" },
	{ keys = [ "escape" ],		command = "show_tasks" },
]
