Представление каталога, на которое вы ссылаетесь, называется netrw
. Вы можете прочитать всю документацию с помощью :help netrw
, но то, что вы ищете в этом случае, доступно по :help netrw-delete
:
Переменная g: netrw_rmdir_cmd используется для поддержки удаления каталогов.
Значение по умолчанию:
g: netrw_rmdir_cmd: ssh HOSTNAME rmdir
Если удаление каталога завершается неудачно с помощью g: netrw_rmdir_cmd, тогда netrw попытается
чтобы удалить его снова, используя переменную g: netrw_rmf_cmd. Значение по умолчанию:
g: netrw_rmf_cmd: ssh HOSTNAME rm -f
Таким образом, вы можете переопределить переменную, содержащую команду для удаления каталога, следующим образом:
let g:netrw_rmf_cmd = 'ssh HOSTNAME rm -rf'
РЕДАКТИРОВАТЬ : Как указывалось выше, это довольно рискованно. Если вам нужно дополнительное подтверждение, если каталог не пустой, вы можете написать сценарий оболочки, который выполняет запрос. Быстрый Google поднял этот вопрос SO: пользовательский ввод bash, если .
Итак, вы можете написать скрипт, который выглядит так:
#! /bin/bash
hostname = $1
dirname = $2
# ...
# prompt the user, save the result
# ...
if $yes
then
ssh $hostname rm -rf $dirname
fi
Затем установите команду для выполнения вашего скрипта
let g:netrw_rmf_cmd = 'safe-delete HOSTNAME'
Рекомендуется, конечно, много тщательного тестирования:).