จะทำการ remap ลบและ shift + delete เพื่อทำการลบไฟล์ใน Mac OS X Lion ได้อย่างไร?


11

ฉันต้องการลบและลบไฟล์ในตัวค้นหาอย่างถาวรโดยใช้ del และ shift + delete (สไตล์ Windows)

มีวิธีการตั้งค่าใหม่ใน OS X lion หรือไม่?


2
ทำไม? เกิดอะไรขึ้นกับคำสั่งลบ
Abhi Beckert

1
ดูคำถามนี้ SU rmนอกจากนี้คุณยังสามารถใช้ขั้วและ
Linuxios

@Linuxios ดีมากพวกเขาพบ :)
ไซมอน

แน่ใจ SU มักจะมีคำตอบที่ดีกว่าสำหรับคำถามผู้ใช้ขั้นสูงเหล่านี้มากกว่าไซต์ที่มุ่งเน้น "ผู้บริโภค" (Ask Different, Ask Ubuntu ฯลฯ )
Linuxios

1
SU นั้นมีไว้สำหรับผู้ใช้ที่มีอำนาจมากกว่าผู้ใช้ทั่วไป ถามโฮเวอร์ที่แตกต่างกันระหว่างผู้ใช้ทั่วไปและผู้ใช้ระดับสูง
Linuxios

คำตอบ:


7

หากคุณต้องการลบไฟล์ทันทีคุณสามารถคัดลอกไฟล์เปิด Terminal หรือ iTerm พิมพ์rm -r ‌และกด⌘V

หากคุณต้องการที่จะลบไฟล์อย่างปลอดภัยเพื่อให้พวกเขาไม่สามารถกู้คืนด้วยการประยุกต์ใช้เช่น DiskWarrior หรือ DataRescue srm -srfคุณสามารถใช้ srmใช้อัลกอริทึม 35-pass Gutmann โดยค่าเริ่มต้น แต่-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>

$&#x007F;คือ⇧⌦ (โดยที่⌦คือ Mac ไปข้างหน้าลบ / ลบ Windows) ⇧⌫จะเป็น$&#x0008;(โดยที่⌫ คือ Mac ลบ / Windows backspace) รูปแบบที่ใช้สำหรับสายทางลัดอธิบายไว้ในhttp://lri.me/keybindings.html


สำหรับการทำ⌦ (Mac ลบไปข้างหน้า / ลบ Windows) ย้ายไฟล์ไปที่ถังขยะคุณสามารถแก้ไขรายการทรัพย์สินของ Finder:

defaults write com.apple.finder NSUserKeyEquivalents -dict 'Move to Trash' '\U007F'
killall Finder

อย่างไรก็ตามยังเป็นการกด⌦ย้ายไฟล์ไปที่ถังขยะเมื่อคุณเปลี่ยนชื่อไฟล์


ถ้าเพียงคำตอบของคุณจะประกอบด้วยประโยคสุดท้ายนั่น ;-)
Asmus

หลังจากอ่านบรรทัดสุดท้าย ... วิธีนี้เกือบจะไร้ประโยชน์ถ้าเราไม่มีวิธีแก้ปัญหาในการใช้การลบในการเปลี่ยนชื่อไฟล์
Riyaz Mohammed Ibrahim

3

หากกระบวนการแป้นพิมพ์สองขั้นตอนเป็นที่ยอมรับคุณสามารถทำสิ่งต่อไปนี้ได้เสมอ:

+ เพื่อย้ายไฟล์ไปที่ถังขยะ

แล้วก็

+ + เพื่อล้างถังขยะ (พร้อมป๊อปอัปยืนยัน) หรือ

+ + + เพื่อล้างถังขยะ (ไม่มีป๊อปอัพยืนยัน)

เห็นได้ชัดว่ามันจะกำจัดไฟล์อื่น ๆ ทั้งหมดที่อยู่ในถังขยะด้วย

หรืออาจจะเป็นTrash Xก็ได้ คำอธิบายพูดว่า:

คุณสามารถใช้มันเพื่อลบหรือทำลายไฟล์และโฟลเดอร์โดยไม่ต้องส่งไปที่ถังขยะ คุณสามารถใช้มันเพื่อล้างหรือทำลายขยะในดิสก์ที่เลือกเท่านั้น และแน่นอนคุณสามารถใช้งานได้เช่นเดียวกับถังขยะที่คุณมีอยู่บนเดสก์ท็อปของคุณ


+ ฉันเพิ่งค้นพบสิ่งนี้ได้อย่างไร
Drazen Bjelovuk

1
+ + เพื่อลบไฟล์ทันที
Matt Sephton

2

สิ่งที่คุณสามารถทำได้คือส่งไฟล์ไปที่ถังขยะแล้วคลิก Finder-> Secure Empty Trash

นอกจากนี้คุณยังสามารถทำให้แป้นพิมพ์ลัดที่จะทำให้กระบวนการที่เล็ก ๆ น้อย ๆ ได้เร็วขึ้นเช่นที่อธิบายไว้ในบทความนี้

มันไม่ได้เป็นสิ่งที่คุณต้องการ แต่ดูเหมือนว่าจะใกล้เคียงที่สุดที่คุณจะได้รับโดยไม่ได้มองในการสร้างสิ่งที่มี Automator หรือแป้นพิมพ์มาสโทร


บทความที่ดี Keyboard Maestro คืออะไร (อาจจะเชื่อมโยงหลายมิติไปในคำตอบของคุณถ้าเป็นไปได้)
ไซมอน

ดีเยี่ยม, ชื่นชมมาก :)
ไซมอน

ฉันได้เพิ่มการเชื่อมโยง มันเป็นแอพพลิเคชั่นที่ให้คุณสร้างมาโครประเภทต่าง ๆ หรือแป้นพิมพ์ลัดเพื่อทำสิ่งต่าง ๆ ได้เร็วขึ้น คุณสามารถสร้างทางลัดเพื่อทำสิ่งที่ซับซ้อนหลายขั้นตอนได้ อาจเกินราคาที่จะซื้อเพียงแค่งานนี้เท่านั้น
เดวิด

0

ฉันสร้างแอพง่ายๆในโกโก้ซึ่งทำหน้าที่เหมือนไอคอนถังขยะ แต่มีพฤติกรรมที่แตกต่างกันเช่น เมื่อไฟล์หรือโฟลเดอร์ถูกดร็อปที่ไอคอนใน Dock ไฟล์นั้นจะถูกลบอย่างถาวร

ฉันได้เขียนบล็อกโพสต์เกี่ยวกับเรื่องนี้ - Mac OS X: shift + delete

นี่คือลิงค์สำหรับแอปDeleteMe

แนวคิดพื้นฐานคือ - ใช้: rm -rf เหมือนกับสิ่งที่แนะนำในคำตอบที่ได้รับการโหวตมากที่สุด แต่นำไปใช้ในทางอื่น ;-)

ปรับปรุง

ตอนนี้มีวิธีที่ดีกว่าที่จะให้เกิดการทำงาน 'ถาวรลบ' ตามที่ระบุโดยแมตต์ Sephton ในความคิดเห็นของคำตอบนี้ - เพียงแค่ใช้คำสั่ง + Alt (ตัวเลือก) + Backspace ขอบคุณเขาสำหรับการอัปเดต


2
ง่ายกว่าเพียงแค่กด Cmd + Alt + Delete / Backspace i.imgur.com/9pHcsHT.png
Matt Sephton
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.