ソースを参照

List from selection file if nothing selected

master
Arun Prakash Jana 5年前
コミット
69efec865a
この署名に対応する既知のキーがデータベースに存在しません GPGキーID: A75979F35C080412
3個のファイルの変更15行の追加10行の削除
  1. +2
    -2
      nnn.1
  2. +12
    -7
      src/nnn.c
  3. +1
    -1
      src/nnn.h

+ 2
- 2
nnn.1 ファイルの表示

@@ -176,11 +176,11 @@ There are 3 groups of keybinds to add files to selection:
.br
(3) add all files in the current directory to selection
.Pp
A selection can be listed, edited, copied, moved, removed, archived or linked.
A selection can be edited, copied, moved, removed, archived or linked.
.Pp
Absolute paths of the selected files are copied to \fB.selection\fR file in the config directory.
.Pp
To edit the selection use the _edit selection_ key. Use this key to remove a file from selection after you navigate away from its directory. Editing doesn't end the selection mode. You can add more files to the selection and edit the list again.
To edit the selection use the _edit selection_ key. Use this key to remove a file from selection after you navigate away from its directory. Editing doesn't end the selection mode. You can add more files to the selection and edit the list again. If no file is selected in the current session, this option attempts to list the selection file.
.Sh FILE SIZE
The minimum file size unit is byte (B). The rest are K, M, G, T, P, E, Z, Y (powers of 1024), same as the default units in \fIls\fR.
.Sh ENVIRONMENT


+ 12
- 7
src/nnn.c ファイルの表示

@@ -474,6 +474,7 @@ static char * const utils[] = {
#define MSG_BOOKMARK_KEYS 36
#define MSG_INVALID_REG 37
#define MSG_ORDER 38
#define MSG_LIST_SEL 39

static const char * const messages[] = {
"no traversal",
@@ -515,6 +516,7 @@ static const char * const messages[] = {
"bookmark keys:",
"invalid regex",
"toggle 'a'u / 'd'u / 'e'xtn / 'r'everse / 's'ize / 't'ime / 'v'ersion?",
"0 selected, list selection file?"
};

/* Supported configuration environment variables */
@@ -1019,6 +1021,7 @@ static bool listselbuf()
selbufpos = oldpos;
return TRUE;
}
#endif

/* List selection from selection file (another instance) */
static bool listselfile(void)
@@ -1037,7 +1040,6 @@ static bool listselfile(void)

return TRUE;
}
#endif

/* Reset selection indicators */
static void resetselind(void)
@@ -1099,11 +1101,14 @@ static int editselection(void)
int fd, lines = 0;
ssize_t count;
struct stat sb;
struct timespec mtime;
time_t mtime;

if (!selbufpos) {
DPRINTF_S("empty selection");
return 0;
fd = get_input(messages[MSG_LIST_SEL]);
if ((fd == 'y' || fd == 'Y') && !listselfile())
return 0;

return 1;
}

fd = create_tmp_file();
@@ -1121,7 +1126,7 @@ static int editselection(void)
unlink(g_tmpfpath);
return -1;
}
mtime = sb.st_mtim;
mtime = sb.st_mtime;

spawn((cfg.waitedit ? enveditor : editor), g_tmpfpath, NULL, NULL, F_CLI);

@@ -1134,7 +1139,7 @@ static int editselection(void)

fstat(fd, &sb);

if (mtime.tv_sec == sb.st_mtim.tv_sec) {
if (mtime == sb.st_mtime) {
DPRINTF_S("selection is not modified");
unlink(g_tmpfpath);
return 1;
@@ -3627,7 +3632,7 @@ static void show_help(const char *path)
"cP Copy sel here%-11ca Select all\n"
"cV Move sel here%-10c^V Copy/move sel as\n"
"cX Delete sel%-13c^X Delete entry\n"
"9o ^T Order toggle%-11c^Y Edit sel\n"
"9o ^T Order toggle%-11c^W Edit sel\n"
"1MISC\n"
"9; ^P Plugin%-18c= Launch app\n"
"9! ^] Shell%-19c] Cmd prompt\n"


+ 1
- 1
src/nnn.h ファイルの表示

@@ -189,7 +189,7 @@ static struct key bindings[] = {
/* Select all files in current dir */
{ 'a', SEL_SELALL },
/* List, edit selection */
{ CONTROL('Y'), SEL_SELEDIT },
{ CONTROL('W'), SEL_SELEDIT },
/* Copy from selection buffer */
{ 'P', SEL_CP },
/* Move from selection buffer */


読み込み中…
キャンセル
保存