diff --git a/src/nnn.c b/src/nnn.c index f59a453b..f2cb9c98 100644 --- a/src/nnn.c +++ b/src/nnn.c @@ -2650,6 +2650,18 @@ nochange: goto begin; case S_IFREG: { + /* If opened as vim plugin and Enter/^M pressed, pick */ + if (cfg.picker && sel == SEL_GOIN) { + r = mkpath(path, dents[cur].name, newpath, PATH_MAX); + /* NOTE: This overrides any previous selection */ + copybufpos = 0; + appendfpath(newpath, r); + writecp(newpath, r - 1); + + dentfree(dents); + return; + } + /* If open file is disabled on right arrow or `l`, return */ if (cfg.nonavopen && sel == SEL_NAV_IN) continue; @@ -3426,12 +3438,6 @@ nochange: } } - if (cfg.picker && copybufpos == 0 && ndents) { - r = mkpath(path, dents[cur].name, newpath, PATH_MAX); - appendfpath(newpath, r); - writecp(newpath, r - 1); - } - dentfree(dents); return; } /* switch (sel) */