Открытый файл, не указывая точное местоположение

Скажите, что у меня есть файл в некотором неясном каталоге, который я хочу открыть и отредактировать. Я не хочу делать что-то вроде этого...

vim ~/foo/bar/blah/doh/ugh.txt

Я смог бы сказать, находят этот файл и открывают его. Я знаю, что существуют команды как locate и find для нахождения файла или каталога но я не уверен, могут ли они (или даже должен), будьте использованы в том, что я пытаюсь сделать. В основном, что самый простой путь состоит в том, чтобы открыть файл с программой w/o определение ее точного местоположения? (В случаях, где нет другого файла с тем же именем во всей системе и случаев, где существуют несколько).

2
задан 15.06.2010, 21:46

3 ответа

Это откроет все файлы (потенциально многие) с тем именем, которые были добавлены к базе данных в прошлый раз updatedb был выполнен (обычно ежедневно). Это означает, что файлы, созданные с этого времени, не будут найдены.

vim $(locate ugh.txt)

Если Вы не предоставляете начальный каталог к find, использование его может быть очень медленным. Это может все еще быть слишком медленно даже с начальным каталогом, если существует много файлов ниже его. То же предупреждение относительно больших количеств файлов применяется.

vim $(find /pathto/startdir -name 'ugh.txt' -type f)

Любой из них мог быть превращен в функцию для сокращения ввода:

viml () { vim $(locate "$@"); }

Затем используйте его как это:

viml ugh.txt
2
ответ дан 08.12.2019, 06:33

Я думаю, что Вам нужно это: Эта полезная команда позволяет Вам открыть только файлы, которые соответствуют определенному условию - в каталоге и всем, что это - подкаталоги.

vi `grep -rl 'example.js' *

или Вы видите исходную ссылку

1
ответ дан 08.12.2019, 06:33

если Вы находитесь на zsh затем его просто

vim **/foo.txt

или можно просто ввести энергию и сделать следующий из энергии:

:e **/foo.txt<ENTER>
1
ответ дан 08.12.2019, 06:33

Теги

Похожие вопросы