Функция найдена и выполнена, но содержит
command waldo
Вот на что указывает сообщение об ошибке.
Вы можете решить эту проблему в функции:
if hash waldo >/dev/null 2>&1; then
command waldo "$@"
else
echo 'ERROR:...'
fi
Вы можете использовать read
для чтения вывода команды:
:read !sort file.txt | uniq -c
(!
означает, что это команда оболочки)
Который будет читать вывод команды и вставлять его после курсора, после чего вы сможете сохранить его как файл. Но вы также можете сделать это (, как упоминал @Panki):
sort file.txt | uniq -c > new_file.txt
Это сделало бы то, что вы хотите, но пропустило часть vim.
Кроме того, «привязка» к sort или grep бесполезна, sort или grep не перезаписывают файлы, они просто производят вывод на основе ввода, т. е. содержимого файла. Если вам нужно что-то извлечь из файла, вы можете использоватьgrep find_this in_this_file.txt