2

Я Ubuntu, я делаю ls и получаю список файлов. Как мне открыть n-ый файл в списке в VIM, ссылаясь на его позицию из команды ls , а не на его имя? Я хочу сделать это, потому что в каталоге много файлов с длинными похожими именами.

3 ответа3

2
$ vim .

запускает новый экземпляр vim, показывающий список текущего каталога. Наведите курсор на тот, который вы хотите редактировать, и нажмите <Enter> .

1

Прежде всего, не анализируйте вывод ls. Это может привести к всевозможным проблемам, наиболее распространенным из которых является нарушение имен файлов, содержащих пробелы или переводы строк. Более безопасный способ - использовать find:

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

Если вы действительно хотите использовать ls и знаете, что ваши имена файлов безопасны, вы можете это сделать (убедитесь, что вы используете кавычки, как я, в противном случае это разбивает имена файлов пробелами):

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

Откроется 12-й файл, измените номер в соответствии с вашими потребностями.

0

Сначала запустите экземпляр Vim со всеми файлами в каталоге в списке аргументов:

$ vim *

Это откроет самый первый файл. Чтобы перейти к файлу 42, используйте

:42argument

Обратите внимание, что для выхода из Vim вам нужно использовать либо :argdel * , либо выйти через :q!; В противном случае Vim предупреждает вас о more files to edit .

Вы также можете объединить это:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .