mirror of
https://github.com/jarun/nnn.git
synced 2024-12-01 02:49:44 +00:00
Simplify running commands
This commit is contained in:
parent
f31fa09f56
commit
2b4bd35ba6
|
@ -68,7 +68,11 @@ With this, plugin `fzy-open` can be run with the keybind <kbd>:o</kbd>, `mocplay
|
||||||
|
|
||||||
To assign keys to arbitrary non-background cli commands (non-shell-interpreted) and invoke like plugins, add `_` (underscore) before the command. For example:
|
To assign keys to arbitrary non-background cli commands (non-shell-interpreted) and invoke like plugins, add `_` (underscore) before the command. For example:
|
||||||
|
|
||||||
export NNN_PLUG='x:_chmod +x;o:fzy-open'
|
export NNN_PLUG='x:_chmod +x $NNN;g:_git log;s:_smplayer $NNN;o:fzy-open'
|
||||||
|
Notes:
|
||||||
|
1. use single quotes for $NNN_PLUG so $NNN is not interpreted
|
||||||
|
2. $NNN should be the last argument (IF you want to pass the hovered file name)
|
||||||
|
3. (_again_) add `_` before the command
|
||||||
|
|
||||||
**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.
|
||||||
|
|
||||||
|
|
13
src/nnn.c
13
src/nnn.c
|
@ -4970,8 +4970,14 @@ nochange:
|
||||||
|
|
||||||
if (tmp[0] == '_' && tmp[1]) {
|
if (tmp[0] == '_' && tmp[1]) {
|
||||||
xstrlcpy(newpath, ++tmp, PATH_MAX);
|
xstrlcpy(newpath, ++tmp, PATH_MAX);
|
||||||
spawn(newpath, (ndents ? dents[cur].name : NULL),
|
if (is_suffix(newpath, " $NNN")) {
|
||||||
NULL, path, F_CLI | F_CONFIRM);
|
tmp = (ndents ? dents[cur].name : NULL);
|
||||||
|
/* Set `\0` to clear ' $NNN' suffix */
|
||||||
|
newpath[strlen(newpath) - 5] = '\0';
|
||||||
|
} else
|
||||||
|
tmp = NULL;
|
||||||
|
|
||||||
|
spawn(newpath, tmp, NULL, path, F_CLI | F_CONFIRM);
|
||||||
} else {
|
} else {
|
||||||
if (!run_selected_plugin(&path, tmp, newpath, NULL,
|
if (!run_selected_plugin(&path, tmp, newpath, NULL,
|
||||||
(ndents ? dents[cur].name : NULL),
|
(ndents ? dents[cur].name : NULL),
|
||||||
|
@ -4981,6 +4987,9 @@ nochange:
|
||||||
goto nochange;
|
goto nochange;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ndents)
|
||||||
|
copycurname();
|
||||||
} else {
|
} else {
|
||||||
cfg.runplugin ^= 1;
|
cfg.runplugin ^= 1;
|
||||||
if (!cfg.runplugin && rundir[0]) {
|
if (!cfg.runplugin && rundir[0]) {
|
||||||
|
|
Loading…
Reference in a new issue