Reformat help, remove redundant plugin key

This commit is contained in:
Arun Prakash Jana 2019-12-11 19:23:54 +05:30
parent 8b7a74a451
commit a86150f71a
No known key found for this signature in database
GPG key ID: A75979F35C080412
4 changed files with 58 additions and 62 deletions

View file

@ -206,12 +206,12 @@ The list below is from the **dev branch**. Press <kbd>?</kbd> in `nnn` to see th
Up k Up PgUp ^U Scroll up Up k Up PgUp ^U Scroll up
Down j Down PgDn ^D Scroll down Down j Down PgDn ^D Scroll down
Left h Parent ~ ` @ - HOME, /, start, last Left h Parent ~ ` @ - HOME, /, start, last
Ret Right l Open . Toggle show hidden Ret Right l Open . Show hidden toggle
g ^A First entry G ^E Last entry g ^A Top G ^E Bottom
b Pin current dir ^B Go to pinned dir b Pin CWD ^B Go to pinned dir
(Sh)Tab Cycle context d Toggle detail view (Sh)Tab Cycle context d Detail view toggle
, ^/ Lead key N LeadN Context N , ^/ Lead key N LeadN Context N
/ Filter/Lead Ins ^N Toggle nav-as-you-type / Filter/Lead Ins ^N Nav-as-you-type toggle
Esc Exit prompt ^L F5 Redraw/clear prompt Esc Exit prompt ^L F5 Redraw/clear prompt
? Help, conf ' Lead' First file ? Help, conf ' Lead' First file
Q ^Q Quit ^G QuitCD q Quit context Q ^Q Quit ^G QuitCD q Quit context
@ -219,18 +219,18 @@ The list below is from the **dev branch**. Press <kbd>?</kbd> in `nnn` to see th
^O Open with... n Create new/link ^O Open with... n Create new/link
D File details ^R F2 Rename/duplicate D File details ^R F2 Rename/duplicate
Space ^J/a Sel toggle/all r Batch rename Space ^J/a Sel toggle/all r Batch rename
m ^K Sel range, clear M List selection m ^K Sel range, clear M List sel
P Copy selection K Edit, flush sel P Copy sel here K Edit, flush sel
V Move selection w Copy/move sel as V Move sel here w Copy/move sel as
X Del selection ^X Del entry X Del sel ^X Del entry
f Archive o ^F Archive ops f Archive o ^F Archive ops
e Edit in EDITOR p Open in PAGER e Edit in EDITOR p Open in PAGER
ORDER TOGGLES ORDER TOGGLES
A Apparent du S du A Apparent du S du
z Size E Extn t Time z Size E Extn t Time
MISC MISC
! ^] Shell ;K :K xK Execute plugin K ! ^] Shell ;K xK Execute plugin K
C Execute entry R ^V Pick plugin C Execute file R ^V Pick plugin
s Manage session = Launch app s Manage session = Launch app
c Connect remote u Unmount c Connect remote u Unmount
] ^P Prompt/run cmd L Lock ] ^P Prompt/run cmd L Lock

View file

@ -69,11 +69,11 @@ Plugins are installed to `${XDG_CONFIG_HOME:-$HOME/.config}/nnn/plugins`. You ca
## Executing plugins ## Executing plugins
**Method 1:** Directly with <kbd>:key</kbd>: **Method 1:** Directly with <kbd>;key</kbd> or <kbd>xkey</kbd>:
export NNN_PLUG='o:fzopen;p:mocplay;d:diffs;m:nmount;n:notes;v:imgviu;t:imgthumb' export NNN_PLUG='o:fzopen;p:mocplay;d:diffs;m:nmount;n:notes;v:imgviu;t:imgthumb'
Now plugin `fzopen` can be run with the keybind <kbd>:o</kbd>, `mocplay` can be run with <kbd>:p</kbd> and so on... The key vs. plugin pairs are shown in the help and config screen. Now plugin `fzopen` can be run with the keybind <kbd>;o</kbd>, `mocplay` can be run with <kbd>;p</kbd> and so on... The key vs. plugin pairs are shown in the help and config screen.
**Method 2:** Use the _pick plugin_ shortcut to visit the plugin directory and execute a plugin. Repeating the same shortcut cancels the operation and puts you back in the original directory. **Method 2:** Use the _pick plugin_ shortcut to visit the plugin directory and execute a plugin. Repeating the same shortcut cancels the operation and puts you back in the original directory.
@ -83,7 +83,7 @@ To assign keys to arbitrary non-background cli commands (non-shell-interpreted)
export NNN_PLUG='x:_chmod +x $nnn;g:_git log;s:_smplayer $nnn;o:fzopen' export NNN_PLUG='x:_chmod +x $nnn;g:_git log;s:_smplayer $nnn;o:fzopen'
Now <kbd>:x</kbd> can be used to make a file executable, <kbd>:g</kbd> can be used to the git log of a git project directory, <kbd>:s</kbd> can be used to preview a partially downloaded media file. Now <kbd>;x</kbd> can be used to make a file executable, <kbd>;g</kbd> can be used to the git log of a git project directory, <kbd>;s</kbd> can be used to preview a partially downloaded media file.
Notes: Notes:

View file

@ -423,39 +423,38 @@ static char * const utils[] = {
#define MSG_FAILED 6 #define MSG_FAILED 6
#define MSG_SSN_NAME 7 #define MSG_SSN_NAME 7
#define MSG_CP_MV_AS 8 #define MSG_CP_MV_AS 8
#define MSG_RENAME_OPTS 9 #define MSG_CUR_SEL_OPTS 9
#define MSG_FORCE_RM 10 #define MSG_FORCE_RM 10
#define MSG_CREATE_CTX 11 #define MSG_CREATE_CTX 11
#define MSG_CUR_SEL_OPTS 12 #define MSG_NEW_OPTS 12
#define MSG_NEW_OPTS 13 #define MSG_CLI_MODE 13
#define MSG_CLI_MODE 14 #define MSG_OVERWRITE 14
#define MSG_OVERWRITE 15 #define MSG_SSN_OPTS 15
#define MSG_SSN_OPTS 16 #define MSG_QUIT_ALL 16
#define MSG_QUIT_ALL 17 #define MSG_HOSTNAME 17
#define MSG_HOSTNAME 18 #define MSG_ARCHIVE_NAME 18
#define MSG_ARCHIVE_NAME 19 #define MSG_OPEN_WITH 19
#define MSG_OPEN_WITH 20 #define MSG_REL_PATH 20
#define MSG_REL_PATH 21 #define MSG_LINK_SUFFIX 21
#define MSG_LINK_SUFFIX 22 #define MSG_COPY_NAME 22
#define MSG_COPY_NAME 23 #define MSG_CONTINUE 23
#define MSG_CONTINUE 24 #define MSG_SEL_MISSING 24
#define MSG_SEL_MISSING 25 #define MSG_ACCESS 25
#define MSG_ACCESS 26 #define MSG_0_CREATED 26
#define MSG_0_CREATED 27 #define MSG_NOT_REG_FILE 27
#define MSG_NOT_REG_FILE 28 #define MSG_PERM_DENIED 28
#define MSG_PERM_DENIED 29 #define MSG_EMPTY_FILE 29
#define MSG_EMPTY_FILE 30 #define MSG_UNSUPPORTED 30
#define MSG_UNSUPPORTED 31 #define MSG_NOT_SET 31
#define MSG_NOT_SET 32 #define MSG_RANGE_SEL_ON 32
#define MSG_RANGE_SEL_ON 33 #define MSG_DIR_CHANGED 33
#define MSG_DIR_CHANGED 34 #define MSG_0_FILES 34
#define MSG_0_FILES 35 #define MSG_EXISTS 35
#define MSG_EXISTS 36 #define MSG_FEW_COLOUMNS 36
#define MSG_FEW_COLOUMNS 37 #define MSG_REMOTE_OPTS 37
#define MSG_REMOTE_OPTS 38 #define MSG_RCLONE_DELAY 38
#define MSG_RCLONE_DELAY 39 #define MSG_APP_NAME 39
#define MSG_APP_NAME 40 #define MSG_ARCHIVE_OPTS 40
#define MSG_ARCHIVE_OPTS 41
static const char * const messages[] = { static const char * const messages[] = {
"no traversal", "no traversal",
@ -467,10 +466,9 @@ static const char * const messages[] = {
"failed!", "failed!",
"session name: ", "session name: ",
"'c'p / 'm'v as?", "'c'p / 'm'v as?",
"'c'urrent dir / 's'election?", "'c'urrent / 's'el?",
"forcibly remove %s file%s (unrecoverable)?", "forcibly remove %s file%s (unrecoverable)?",
"create context %d?", "create context %d?",
"'c'urrent / 's'election?",
"'f'ile / 'd'ir / 's'ym / 'h'ard?", "'f'ile / 'd'ir / 's'ym / 'h'ard?",
"'c'li / 'g'ui?", "'c'li / 'g'ui?",
"overwrite?", "overwrite?",
@ -1546,7 +1544,7 @@ static bool batch_rename(const char *path)
if (selbufpos) { if (selbufpos) {
if (ndents) { if (ndents) {
i = get_input(messages[MSG_RENAME_OPTS]); i = get_input(messages[MSG_CUR_SEL_OPTS]);
if (i == 'c') { if (i == 'c') {
selbufpos = 0; /* Clear the selection */ selbufpos = 0; /* Clear the selection */
dir = TRUE; dir = TRUE;
@ -2103,8 +2101,7 @@ static int filterentries(char *path)
cur = oldcur; cur = oldcur;
goto end; goto end;
case '=': // fallthrough /* Launch app */ case '=': // fallthrough /* Launch app */
case ':': // fallthrough /* Run plugin keys */ case ';': // fallthrough /* Run plugin key */
case ';': // fallthrough
case '?': /* Help and config key, '?' is an invalid regex */ case '?': /* Help and config key, '?' is an invalid regex */
if (len == 1) { if (len == 1) {
cur = oldcur; cur = oldcur;
@ -3487,12 +3484,12 @@ static void show_help(const char *path)
"9Up k Up PgUp ^U Scroll up\n" "9Up k Up PgUp ^U Scroll up\n"
"7Down j Down PgDn ^D Scroll down\n" "7Down j Down PgDn ^D Scroll down\n"
"7Left h Parent ~ ` @ - HOME, /, start, last\n" "7Left h Parent ~ ` @ - HOME, /, start, last\n"
"2Ret Right l Open . Toggle show hidden\n" "2Ret Right l Open . Show hidden toggle\n"
"9g ^A First entry G ^E Last entry\n" "9g ^A Top G ^E Bottom\n"
"cb Pin current dir ^B Go to pinned dir\n" "cb Pin CWD ^B Go to pinned dir\n"
"6(Sh)Tab Cycle context d Toggle detail view\n" "6(Sh)Tab Cycle context d Detail view toggle\n"
"9, ^/ Lead key N LeadN Context N\n" "9, ^/ Lead key N LeadN Context N\n"
"c/ Filter/Lead Ins ^N Toggle nav-as-you-type\n" "c/ Filter/Lead Ins ^N Nav-as-you-type toggle\n"
"aEsc Exit prompt ^L F5 Redraw/clear prompt\n" "aEsc Exit prompt ^L F5 Redraw/clear prompt\n"
"c? Help, conf ' Lead' First file\n" "c? Help, conf ' Lead' First file\n"
"9Q ^Q Quit ^G QuitCD q Quit context\n" "9Q ^Q Quit ^G QuitCD q Quit context\n"
@ -3500,18 +3497,18 @@ static void show_help(const char *path)
"b^O Open with... n Create new/link\n" "b^O Open with... n Create new/link\n"
"cD File details ^R F2 Rename/duplicate\n" "cD File details ^R F2 Rename/duplicate\n"
"3Space ^J/a Sel toggle/all r Batch rename\n" "3Space ^J/a Sel toggle/all r Batch rename\n"
"9m ^K Sel range, clear M List selection\n" "9m ^K Sel range, clear M List sel\n"
"cP Copy selection K Edit, flush sel\n" "cP Copy sel here K Edit, flush sel\n"
"cV Move selection w Copy/move sel as\n" "cV Move sel here w Copy/move sel as\n"
"cX Del selection ^X Del entry\n" "cX Del sel ^X Del entry\n"
"cf Archive o ^F Archive ops\n" "cf Archive o ^F Archive ops\n"
"ce Edit in EDITOR p Open in PAGER\n" "ce Edit in EDITOR p Open in PAGER\n"
"1ORDER TOGGLES\n" "1ORDER TOGGLES\n"
"cA Apparent du S du\n" "cA Apparent du S du\n"
"cz Size E Extn t Time\n" "cz Size E Extn t Time\n"
"1MISC\n" "1MISC\n"
"9! ^] Shell ;K :K xK Execute plugin K\n" "9! ^] Shell ;K xK Execute plugin K\n"
"cC Execute entry R ^V Pick plugin\n" "cC Execute file R ^V Pick plugin\n"
"cs Manage session = Launch app\n" "cs Manage session = Launch app\n"
"cc Connect remote u Unmount\n" "cc Connect remote u Unmount\n"
"9] ^P Prompt/run cmd L Lock\n"}; "9] ^P Prompt/run cmd L Lock\n"};

View file

@ -244,7 +244,6 @@ static struct key bindings[] = {
{ CONTROL(']'), SEL_SHELL }, { CONTROL(']'), SEL_SHELL },
/* Plugin key */ /* Plugin key */
{ 'x', SEL_PLUGKEY }, { 'x', SEL_PLUGKEY },
{ ':', SEL_PLUGKEY },
{ ';', SEL_PLUGKEY }, { ';', SEL_PLUGKEY },
/* Run a plugin */ /* Run a plugin */
{ 'R', SEL_PLUGIN }, { 'R', SEL_PLUGIN },