12

Я использую команду locate очень часто.

Так что, если я запускаю следующую команду.

locate updatedb | head -1

Тогда это дает мне O/p

/usr/updatedb.conf

Интересно, есть ли такая команда, которая может позволить мне открыть этот файл напрямую?

Я надеюсь на что-то подобное.

locate updatedb | head -1 | vim

3 ответа3

19

Вы почти закончили

$ locate updatedb | head -1 | xargs vim

иногда (под определенными терминалами) вам необходимо сбросить терминал после редактирования.

$ reset
14

В качестве интерактивного редактора Vim нужен как stdin, так и stdout, поэтому использование его внутри канала проблематично и заставляет Vim предупреждать об этом. Для всего лишь одного файла процесс замены решает это легко:

vim "$(locate updatedb | head -1)"

Вы также можете использовать обратные метки, и это работает даже внутри самого Vim:

:edit `locate updatedb | head -1`
0

Я знаю, что это плохое решение, но я использовал это для создания псевдонима в .bashrc:

locate updatedb  > /tmp/vimForTempDontTouch && vim /tmp/vimForTempDontTouch

Недостатки: некрасиво

Преимущество: нет побочных эффектов с терминалом

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