我找到了我想使用的命令:cd $(ls -d */|head -n 1)
当我在终端中执行它时,它按预期工作。但是,当我将它映射到游侠(使用map g1 cd...
或map g1 shell cd...
)时,我无法让它工作。
难道是游侠不支持嵌套命令?
编辑:
答案有效,为了清楚起见,我想做的是在 Ranger 中有一个键绑定,将 cd 我放入当前可见文件夹的第一个,一个键绑定将 cd 我放入第二个文件夹等。例如,将 cd 放入第三个文件夹我发现我需要使用cd $(ls -d */ |head -n 3 | tail -1)
与答案相符的文件夹将转换为
map g3 eval from ranger.ext.spawn import spawn; fm.cd(spawn("ls -d */|head -n 3| tail -1").strip())
虽然您没有说出您要达到的目标,但
cd $(ls -d */|head -n 1)
在 ranger 内您需要使用: