瀏覽代碼

Fix #179

master
Arun Prakash Jana 5 年之前
父節點
當前提交
e87ff1129c
沒有發現已知的金鑰在資料庫的簽署中 GPG Key ID: A75979F35C080412
共有 3 個文件被更改,包括 14 次插入13 次删除
  1. +1
    -3
      README.md
  2. +1
    -4
      nnn.1
  3. +12
    -6
      src/nnn.c

+ 1
- 3
README.md 查看文件

@@ -372,9 +372,7 @@ To edit all text files in EDITOR (preferably CLI, fallback vi):

export NNN_USE_EDITOR=1

Arguments to the `$EDITOR`, `$PAGER` and `$SHELL` should be combined together, e.g.,

export EDITOR='vim -xR'
Arguments to the `$PAGER` and `$SHELL` should be combined together.

The option `open with` takes 1 combined argument.



+ 1
- 4
nnn.1 查看文件

@@ -264,10 +264,7 @@ be copied, moved or removed using respective keyboard shortcuts.
To list the file paths copied to memory press \fIy\fR.
.Sh ENVIRONMENT
The SHELL, EDITOR (VISUAL, if defined) and PAGER environment variables take precedence
when dealing with the !, e and p commands respectively. A single combination to arguments is supported, e.g.:
.Bd -literal
export EDITOR='vim -xR'
.Ed
when dealing with the !, e and p commands respectively. A single combination to arguments is supported for SHELL and PAGER.
.Pp
\fBNNN_BMS:\fR bookmark string as \fIkey_char:location\fR pairs (max 10) separated by
\fI;\fR:


+ 12
- 6
src/nnn.c 查看文件

@@ -293,7 +293,7 @@ static int ndents, cur, total_dents = ENTRY_INCR;
static uint idle;
static uint idletimeout, copybufpos, copybuflen;
static char *copier;
static char *editor, *editor_arg;
static char *editor;
static char *pager, *pager_arg;
static char *shell, *shell_arg;
static char *runpath;
@@ -2125,9 +2125,9 @@ static bool show_help(char *path)
if (getenv("SHLVL"))
dprintf(fd, "SHLVL: %s\n", getenv("SHLVL"));
if (getenv("VISUAL"))
dprintf(fd, "VISUAL: %s %s\n", editor, editor_arg);
dprintf(fd, "VISUAL: %s\n", editor);
else if (getenv("EDITOR"))
dprintf(fd, "EDITOR: %s %s\n", editor, editor_arg);
dprintf(fd, "EDITOR: %s\n", editor);
if (getenv("PAGER"))
dprintf(fd, "PAGER: %s %s\n", pager, pager_arg);

@@ -2717,7 +2717,11 @@ nochange:
if (cfg.useeditor &&
get_output(g_buf, CMD_LEN_MAX, "file", FILE_OPTS, newpath, FALSE) &&
strstr(g_buf, "text/") == g_buf) {
spawn(editor, editor_arg, newpath, path, F_NORMAL);
r = xstrlcpy(g_buf, editor, CMD_LEN_MAX);
g_buf[r - 1] = ' ';
xstrlcpy(g_buf + r, newpath, CMD_LEN_MAX - r);
DPRINTF_S(g_buf);
spawn("sh", "-c", g_buf, path, F_NORMAL);
continue;
}

@@ -3023,8 +3027,11 @@ nochange:
r = show_help(path);
break;
case SEL_RUNEDIT:
r = xstrlcpy(g_buf, editor, CMD_LEN_MAX);
g_buf[r - 1] = ' ';
xstrlcpy(g_buf + r, dents[cur].name, CMD_LEN_MAX - r);
r = TRUE;
spawn(editor, editor_arg, dents[cur].name, path, F_NORMAL);
spawn("sh", "-c", g_buf, path, F_NORMAL);
break;
case SEL_RUNPAGE:
r = TRUE;
@@ -3666,7 +3673,6 @@ int main(int argc, char *argv[])

/* Get VISUAL/EDITOR */
editor = xgetenv("VISUAL", xgetenv("EDITOR", "vi"));
getprogarg(editor, &editor_arg);

/* Get PAGER */
pager = xgetenv("PAGER", "less");


Loading…
取消
儲存