Я хотел бы удалить и навсегда удалить файл в Finder, используя Del и Shift + Delete (стиль Windows).
Есть ли способ переназначить это в OS X Lion?
Я хотел бы удалить и навсегда удалить файл в Finder, используя Del и Shift + Delete (стиль Windows).
Есть ли способ переназначить это в OS X Lion?
Ответы:
Если вы хотите немедленно удалить файлы, вы можете скопировать файлы, открыть терминал или iTerm, ввести rm -r и нажать ⌘V.
Если вы хотите надежно удалить файлы, чтобы их нельзя было восстановить с помощью таких приложений, как DiskWarrior или DataRescue, вы можете использовать их srm -srf. srmпо умолчанию использует 35-проходный алгоритм Гутмана, но -sперезаписывает файлы только одним проходом случайных данных.
Вы также можете создать такой сервис:

osascript -e 'on run argv
set text item delimiters to linefeed
tell application "Finder"
display dialog "Delete the following files immediately?" & linefeed & linefeed & text items of argv
end tell
end run' "$@"
[[ $? != 0 ]] && exit 0
rm -rf "$@"
Я не использовал действие «Запросить подтверждение», потому что его нельзя использовать для отображения путей, указанных в качестве аргументов, а отображаемые в нем диалоговые окна не получают фокус клавиатуры.
Службу нельзя использовать для удаления файла, если для его удаления потребуются привилегии суперпользователя.
Службе можно присвоить сочетание клавиш из «Системных настроек»> «Клавиатура»> «Сочетания клавиш»> «Службы». Сочетания клавиш не позволяют вводить ⇧⌦ в качестве сочетания клавиш, но вы можете сначала дать службе временный ярлык, затем закрыть окно «Системные настройки», затем запустить что-то вроде f=~/Library/Preferences/pbs.plist; plutil -convert xml1 $f; open -e $f, а затем изменить ключ на эквивалентный $:
<key>(null) - Delete Immediately - runWorkflowAsService</key>
<dict>
<key>key_equivalent</key>
<string>$&#xU007F;</string>
</dict>
$это ⇧⌦ (где ⌦ - удаление Mac вперед / удаление Windows). Be будет $(где ⌫ - удаление Mac / возврат Windows). Формат, используемый для строк ярлыков, описан в http://lri.me/keybindings.html .
Что касается ⌦ (удаление Mac вперед / удаление Windows) перемещать файлы в корзину, вы можете изменить список свойств Finder:
defaults write com.apple.finder NSUserKeyEquivalents -dict 'Move to Trash' '\U007F'
killall Finder
Однако это также приводит к нажатию pressing перемещать файл в корзину, когда вы переименовываете файл.
Если приемлем двухэтапный процесс клавиатуры, вы всегда можете сделать:
⌘+ ⌫переместить файл в корзину
затем
⌘+ ⇧+ ⌫очистить корзину (с подтверждением) или
⌘+ ⇧+ ⌥+, ⌫чтобы очистить корзину (без подтверждения).
Очевидно, что это также избавит от всех других файлов, уже находящихся в корзине.
Кроме того, может быть, что-то вроде Trash X поможет. В описании сказано:
Вы можете использовать его для мгновенного удаления или уничтожения файлов и папок, не отправляя их в корзину. Вы можете использовать его для очистки или уничтожения мусора только на выбранных дисках. И, конечно, вы можете использовать его так же, как мусорную корзину, которую вы всегда имели на рабочем столе.
⌘+ ⌫Как я только что обнаружил это?
⌘+ ⌥+ ⌫немедленно удалить файл
Что вы можете сделать, это отправить файлы в корзину, а затем нажмите Finder-> Secure Empty Trash.
Вы также можете сделать сочетание клавиш, чтобы сделать этот процесс немного быстрее, как описано в этой статье .
Это не совсем то, что вам нужно, но кажется, что вы ближе всего можете получить, не задумываясь о создании чего-либо с Automator или Keyboard Maestro .
Я сделал простое приложение в какао, которое действует как значок корзины, но с другим поведением, т.е. когда файл или папка сбрасывается на значок в доке, он удаляет их навсегда.
Я также написал сообщение в блоге об этом - Mac OS X: shift + delete
Вот ссылка на приложение - DeleteMe
Основная идея такова: используйте: rm -rf , в точности то же самое, что предлагается в ответе с наибольшим количеством голосов, но реализовано по-другому ;-)
Обновить
Теперь есть лучший способ реализовать функцию «постоянного удаления», указанную Мэттом Сефтоном в комментарии к этому ответу - просто используйте команду + alt (опция) + backspace . Спасибо ему за обновление.