Linux - 打开列出的第 n 个文件

Linux - 打开列出的第 n 个文件

我是 Ubuntu,我执行了ls并获取了一个文件列表。我该如何根据命令中的位置ls而不是其名称在 VIM 中打开列表中的第 n 个文件?我想这样做是因为目录中有很多文件,这些文件的名称很长且相似。

答案1

$ vim .

启动一个新的 vim 实例,显示当前目录的列表。将光标移到要编辑的目录上,然后点击<Enter>

答案2

首先启动一个 Vim 实例,其中包含目录中的所有文件参数列表

$ vim *

这将打开第一个文件。要转到文件 42,请使用

:42argument

请注意,为了退出 Vim,您现在需要使用:argdel *, 或者通过 退出:q!;否则,Vim 会发出警告more files to edit

您还可以组合这个:

$ vim -c 42argu -c 'argdel *' *

答案3

首先,不解析 ls 的输出。这可能会导致各种问题,最常见的问题是它会在包含空格或换行符的文件名上中断。更安全的方法是使用find

$ vim "$(find . -maxdepth 1 -type f  | awk 'NR==12')"

如果您确实想要使用ls并且知道您的文件名是安全的,您可以这样做(确保像我一样使用引号,否则,这会破坏带有空格的文件名):

$ vim "$(ls -1 | awk 'NR==12')"

这将打开第 12 个文件,根据您的需要更改数字。

相关内容