commit 1446fc95254a72f12f3390ec8063ba071acde80c
parent 0520b3888c1f0448dc1dc3e91929887513ed623f
Author: jacobs-github <JacobDoesLinux@protonmail.com>
Date: Sun, 16 Feb 2020 02:31:43 -0800
copied documentation keybindins, edited to be simular to vi
Diffstat:
1 file changed, 536 insertions(+), 11 deletions(-)
diff --git a/ncmpcpp/.config/ncmpcpp/bindings b/ncmpcpp/.config/ncmpcpp/bindings
@@ -1,17 +1,542 @@
-# refer to https://github.com/arybczak/ncmpcpp/blob/master/doc/bindings for help
+##############################################################
+## This is the example bindings file. Copy it to ##
+## ~/.ncmpcpp/bindings or $XDG_CONFIG_HOME/ncmpcpp/bindings ##
+## and set up your preferences ##
+##############################################################
+##
+##### General rules #####
+##
+## 1) Because each action has runtime checks whether it's
+## ok to run it, a few actions can be bound to one key.
+## Actions will be bound in order given in configuration
+## file. When a key is pressed, first action in order
+## will test itself whether it's possible to run it. If
+## test succeeds, action is executed and other actions
+## bound to this key are ignored. If it doesn't, next
+## action in order tests itself etc.
+##
+## 2) It's possible to bind more that one action at once
+## to a key. It can be done using the following syntax:
+##
+## def_key "key"
+## action1
+## action2
+## ...
+##
+## This creates a chain of actions. When such chain is
+## executed, each action in chain is run until the end of
+## chain is reached or one of its actions fails to execute
+## due to its requirements not being met. If multiple actions
+## and/or chains are bound to the same key, they will be
+## consecutively run until one of them gets fully executed.
+##
+## 3) When ncmpcpp starts, bindings configuration file is
+## parsed and then ncmpcpp provides "missing pieces"
+## of default keybindings. If you want to disable some
+## bindings, there is a special action called 'dummy'
+## for that purpose. Eg. if you want to disable ability
+## to crop playlists, you need to put the following
+## into configuration file:
+##
+## def_key "C"
+## dummy
+##
+## After that ncmpcpp will not bind any default action
+## to this key.
+##
+## 4) To let you write simple macros, the following special
+## actions are provided:
+##
+## - push_character "character" - pushes given special
+## character into input queue, so it will be immediately
+## picked by ncmpcpp upon next call to readKey function.
+## Accepted values: mouse, up, down, page_up, page_down,
+## home, end, space, enter, insert, delete, left, right,
+## tab, ctrl-a, ctrl-b, ..., ctrl-z, ctrl-[, ctrl-\\,
+## ctrl-], ctrl-^, ctrl-_, f1, f2, ..., f12, backspace.
+## In addition, most of these names can be prefixed with
+## alt-/ctrl-/shift- to be recognized with the appropriate
+## modifier key(s).
+##
+## - push_characters "string" - pushes given string into
+## input queue.
+##
+## - require_runnable "action" - checks whether given action
+## is runnable and fails if it isn't. This is especially
+## useful when mixed with previous two functions. Consider
+## the following macro definition:
+##
+## def_key "key"
+## push_characters "custom_filter"
+## apply_filter
+##
+## If apply_filter can't be currently run, we end up with
+## sequence of characters in input queue which will be
+## treated just as we typed them. This may lead to unexpected
+## results (in this case 'c' will most likely clear current
+## playlist, 'u' will trigger database update, 's' will stop
+## playback etc.). To prevent such thing from happening, we
+## need to change above definition to this one:
+##
+## def_key "key"
+## require_runnable "apply_filter"
+## push_characters "custom_filter"
+## apply_filter
+##
+## Here, first we test whether apply_filter can be actually run
+## before we stuff characters into input queue, so if condition
+## is not met, whole chain is aborted and we're fine.
+##
+## - require_screen "screen" - checks whether given screen is
+## currently active. accepted values: browser, clock, help,
+## media_library, outputs, playlist, playlist_editor,
+## search_engine, tag_editor, visualizer, last_fm, lyrics,
+## selected_items_adder, server_info, song_info,
+## sort_playlist_dialog, tiny_tag_editor.
+##
+## - run_external_command "command" - runs given command using
+## system() function.
+##
+## 5) In addition to binding to a key, you can also bind actions
+## or chains of actions to a command. If it comes to commands,
+## syntax is very similar to defining keys. Here goes example
+## definition of a command:
+##
+## def_command "quit" [deferred]
+## stop
+## quit
+##
+## If you execute the above command (which can be done by
+## invoking action execute_command, typing 'quit' and pressing
+## enter), ncmpcpp will stop the player and then quit. Note the
+## presence of word 'deferred' enclosed in square brackets. It
+## tells ncmpcpp to wait for confirmation (ie. pressing enter)
+## after you typed quit. Instead of 'deferred', 'immediate'
+## could be used. Then ncmpcpp will not wait for confirmation
+## (enter) and will execute the command the moment it sees it.
+##
+## Note: while command chains are executed, internal environment
+## update (which includes current window refresh and mpd status
+## update) is not performed for performance reasons. However, it
+## may be desirable to do so in some situration. Therefore it's
+## possible to invoke by hand by performing 'update enviroment'
+## action.
+##
+## Note: There is a difference between:
+##
+## def_key "key"
+## action1
+##
+## def_key "key"
+## action2
+##
+## and
+##
+## def_key "key"
+## action1
+## action2
+##
+## First one binds two single actions to the same key whilst
+## second one defines a chain of actions. The behavior of
+## these two is different and is described in (1) and (2).
+##
+## Note: Function def_key accepts non-ascii characters.
+##
+##### List of unbound actions #####
+##
+## The following actions are not bound to any key/command:
+##
+## - set_volume
+##
+#
+def_key "mouse"
+ mouse_event
-
-# vim keybindings
def_key "k"
- scroll_up
+ scroll_up
+
+def_key "shift-k"
+ select_item
+ scroll_up
+
def_key "j"
- scroll_down
-def_key "h"
- previous_column
+ scroll_down
+
+def_key "shift-j"
+ select_item
+ scroll_down
+
+def_key "["
+ scroll_up_album
+
+def_key "]"
+ scroll_down_album
+
+def_key "{"
+ scroll_up_artist
+
+def_key "}"
+ scroll_down_artist
+
+def_key "ctrl-u"
+ page_up
+
+def_key "ctrl-d"
+ page_down
+
+def_key "g"
+ move_home
+
+def_key "G"
+ move_end
+
+def_key "insert"
+ select_item
+
+def_key "enter"
+ enter_directory
+
+def_key "enter"
+ toggle_output
+
+def_key "enter"
+ run_action
+
+def_key "enter"
+ play_item
+
+def_key "space"
+ add_item_to_playlist
+
+def_key "space"
+ toggle_lyrics_update_on_song_change
+
+def_key "space"
+ toggle_visualization_type
+
+def_key "delete"
+ delete_playlist_items
+
+def_key "delete"
+ delete_browser_items
+
+def_key "delete"
+ delete_stored_playlist
+
def_key "l"
- next_column
+ next_column
+
+#def_key "l"
+# slave_screen
+
+#def_key "l"
+# volume_up
+
+def_key "+"
+ volume_up
+
+def_key "h"
+ previous_column
+
+#def_key "h"
+# master_screen
+
+#def_key "left"
+# volume_down
+
+def_key "-"
+ volume_down
+
+def_key ":"
+ execute_command
+
+def_key "tab"
+ next_screen
+
+def_key "shift-tab"
+ previous_screen
+
+def_key "f1"
+ show_help
+
+def_key "1"
+ show_playlist
+
+def_key "2"
+ show_browser
+
+def_key "2"
+ change_browse_mode
+
+def_key "3"
+ show_search_engine
+
+def_key "3"
+ reset_search_engine
+
+def_key "4"
+ show_media_library
+
+def_key "4"
+ toggle_media_library_columns_mode
+
+def_key "5"
+ show_playlist_editor
+
+def_key "6"
+ show_tag_editor
+
+def_key "7"
+ show_outputs
+
+def_key "8"
+ show_visualizer
+
+def_key "="
+ show_clock
+
+def_key "@"
+ show_server_info
+
+def_key "s"
+ stop
+
+def_key "p"
+ pause
+
+def_key ">"
+ next
+
+def_key "<"
+ previous
+
+def_key "ctrl-h"
+ jump_to_parent_directory
+
+def_key "ctrl-h"
+ replay_song
+
+def_key "backspace"
+ jump_to_parent_directory
+
+def_key "backspace"
+ replay_song
-def_key "b"
- seek_backward
def_key "f"
- seek_forward
+ seek_forward
+
+def_key "b"
+ seek_backward
+
+def_key "r"
+ toggle_repeat
+
+def_key "z"
+ toggle_random
+
+def_key "y"
+ save_tag_changes
+
+def_key "y"
+ start_searching
+
+def_key "y"
+ toggle_single
+
+def_key "R"
+ toggle_consume
+
+def_key "Y"
+ toggle_replay_gain_mode
+
+def_key "T"
+ toggle_add_mode
+
+def_key "|"
+ toggle_mouse
+
+def_key "#"
+ toggle_bitrate_visibility
+
+def_key "Z"
+ shuffle
+
+def_key "x"
+ toggle_crossfade
+
+def_key "X"
+ set_crossfade
+
+def_key "u"
+ update_database
+
+def_key "ctrl-s"
+ sort_playlist
+
+def_key "ctrl-s"
+ toggle_browser_sort_mode
+
+def_key "ctrl-s"
+ toggle_media_library_sort_mode
+
+def_key "ctrl-r"
+ reverse_playlist
+
+def_key "ctrl-f"
+ apply_filter
+
+def_key "ctrl-_"
+ select_found_items
+
+#def_key "/"
+# find
+
+def_key "/"
+ find_item_forward
+
+#def_key "?"
+# find
+
+def_key "?"
+ find_item_backward
+
+def_key "."
+ next_found_item
+
+def_key ","
+ previous_found_item
+
+def_key "w"
+ toggle_find_mode
+
+def_key "e"
+ edit_song
+
+def_key "e"
+ edit_library_tag
+
+def_key "e"
+ edit_library_album
+
+def_key "e"
+ edit_directory_name
+
+def_key "e"
+ edit_playlist_name
+
+def_key "e"
+ edit_lyrics
+
+def_key "i"
+ show_song_info
+
+def_key "I"
+ show_artist_info
+
+def_key "g"
+ jump_to_position_in_song
+
+def_key "l"
+ show_lyrics
+
+def_key "ctrl-v"
+ select_range
+
+def_key "v"
+ reverse_selection
+
+def_key "V"
+ remove_selection
+
+def_key "B"
+ select_album
+
+def_key "a"
+ add_selected_items
+
+def_key "c"
+ clear_playlist
+
+def_key "c"
+ clear_main_playlist
+
+def_key "C"
+ crop_playlist
+
+def_key "C"
+ crop_main_playlist
+
+def_key "m"
+ move_sort_order_up
+
+def_key "m"
+ move_selected_items_up
+
+def_key "n"
+ move_sort_order_down
+
+def_key "n"
+ move_selected_items_down
+
+def_key "M"
+ move_selected_items_to
+
+def_key "A"
+ add
+
+def_key "S"
+ save_playlist
+
+def_key "o"
+ jump_to_playing_song
+
+def_key "G"
+ jump_to_browser
+
+def_key "G"
+ jump_to_playlist_editor
+
+def_key "~"
+ jump_to_media_library
+
+def_key "E"
+ jump_to_tag_editor
+
+def_key "U"
+ toggle_playing_song_centering
+
+def_key "P"
+ toggle_display_mode
+
+def_key "\\"
+ toggle_interface
+
+def_key "!"
+ toggle_separators_between_albums
+
+def_key "L"
+ toggle_lyrics_fetcher
+
+def_key "F"
+ fetch_lyrics_in_background
+
+def_key "alt-l"
+ toggle_fetching_lyrics_in_background
+
+def_key "ctrl-l"
+ toggle_screen_lock
+
+def_key "`"
+ toggle_library_tag_type
+
+def_key "`"
+ refetch_lyrics
+
+def_key "`"
+ add_random_items
+
+def_key "ctrl-p"
+ set_selected_items_priority
+
+def_key "q"
+ quit