ฉันสามารถเปิดไฟล์ใน TextEdit จาก Terminal ใน Mac OS X ได้หรือไม่


168

ฉันมักจะพบว่าคำสั่ง Terminal เพื่อเปิดไฟล์ใน TextEdit จะมีประโยชน์มาก คำสั่งดังกล่าวมีอยู่ใน Mac OS X หรือไม่?


ฉันพยายามเปิด Sublime Text จากบรรทัดคำสั่ง ฉันทำ "open -a / Applications / Sublime Text 2.app my_file.txt" มันใช้งานได้ แต่มันสร้างหน้าต่างใหม่ทุกครั้งที่ฉันต้องการเปิดไฟล์ แก้ไขใด ๆ
Mohammad Moghimi

1
หากคุณต้องการใช้ด้วยsudoให้เปิดไฟล์ TextEdit ในโหมดรูทก่อน
cregox

@MohammadMoghimi ลองใช้sublimeคำสั่งง่ายๆ
Timothy Mueller-Harder

คำตอบ:


229

open -a TextEdit filename ควรทำเคล็ดลับ

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

ตัวเลือกอื่น ๆ ที่เกี่ยวข้อง

  • -t เปิดในตัวแก้ไขเริ่มต้น (เช่นถ้าคุณใช้ BBEdit, TextMate ฯลฯ )
  • -e จะเปิดไฟล์โดยเฉพาะใน TextEdit

2
อาจเป็นทางออกที่ดีที่สุด
daviesgeek

หากคุณต้องการโปรแกรมที่มีชื่อมีช่องว่างคุณจะต้องหลบหนีออกจากโปรแกรมเช่นเปิด -a Adobe \ Photoshop \ CS6 image.png
Choylton B. Higginbottom

วิธีการเปิดด้วย SublimeText3 ที่อยู่ใน / path / SublimeText3
emeraldhieu

3
ในคู่มือคำสั่งของคุณจะเห็นopen -e Causes the file to be opened with /Applications/TextEditดังนั้นopen -e filenameทำสิ่งเดียวกันและเป็นที่เรียบง่าย
DawnSong

แอปพลิเคชั่นที่มีอยู่ถูกกำหนดให้เป็นของผู้ที่อาศัยอยู่ภายใน/Applications/หรือไม่?
Daniel Pendergast

39

คำตอบที่ง่ายและตรง - เพิ่มนามแฝงใน ~ / .bash_profile เช่น:

alias textedit='open -a TextEdit'

เรียกใช้เช่น:

textedit theFiletoEdit.txt

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


สำหรับผู้ที่มีพื้นหลังทุบตีมากกว่าใครที่ต้องการเหตุผลโดยไม่ต้องกังวลกับการหาคำตอบ:

  • ปัญหาคือ symlink เล็ก ๆ น้อย ๆ (หรือ ilk ของมันเช่นการเปลี่ยนเส้นทางเชลล์สคริปต์) เพื่อ /Applications/TextEdit.app/Contents/MacOS/TextEditทำให้อินสแตนซ์ใหม่ของTextEditการเปิดไฟล์ที่คุณส่งไป ใช้งานได้ แต่ไม่ได้ให้การทำงานเริ่มต้นของ Mac OS X ที่คาดไว้ (ถ้าคุณลองคุณจะเห็น)

  • ในการรับพฤติกรรม UI เริ่มต้นโดยใช้openคำสั่งในตัวของ Mac พร้อมกับการตั้งค่าสถานะ '-a TextEdit' (ที่คนอื่น ๆ ระบุไว้) ทำให้ Mac UI นั้นมีอินสแตนซ์ที่ทำงานอยู่ของ TextEdit จัดการการโทร (โดยไม่มี inapropos) sudo 'จำเป็นสำหรับการใช้งานเคสทั่วไป)


การเปิดไฟล์ในอินสแตนซ์ textedit ที่รันอยู่แล้วไม่ทำงานในโมฮาวี ฉันลองธงทั้งหมด
Karl Pokus

6

คำสั่ง open สามารถใช้เพื่อเปิดไฟล์ (ในแอพเริ่มต้นยกเว้นใช้แฟล็ก -a), URL (ในเว็บเบราว์เซอร์เริ่มต้นของคุณ) และไดเรกทอรี (ใน Finder)

ตัวอย่างจะเป็น

open /Users/Example/Desktop/example.rtf

1
นี่อาจเป็นวิธีที่ง่ายที่สุดในการเปิดไฟล์ข้อความเพื่อแก้ไขในโปรแกรมแก้ไขกราฟิกจากเทอร์มินัล
David Thomas

4

สำหรับผู้ที่ค้นหาโพสต์นี้:

ทางออกคือการใช้คำสั่ง sudo open -t /path/file.txt

และหน้า man สำหรับคำสั่ง open ยังแสดงวิธีการทำสิ่งอื่นเช่นแสดงไฟล์ในตัวค้นหา

http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/open.1.html


10
การใช้sudoไม่จำเป็นและไม่พึงประสงค์
Chris หน้า

1
นอกจากว่าไฟล์จะไม่สามารถเข้าถึงได้โดยผู้ใช้ แต่โดยทั่วไปแล้วเห็นด้วย
Bobson

2
ที่จริงแล้วฉันแค่ลองใช้คำสั่งนี้กับ sudo เพื่อแก้ไข/etc/hostsบน Lion และมันก็ไม่ทำงาน (ตามที่คาดไว้) ฉันไม่สามารถแก้ไขไฟล์ได้ โคลนมันเท่านั้น อาจจะไปโดยไม่มีsudoในกรณีนี้ ไฟล์จะถูกทำเครื่องหมายว่าล็อคอยู่แล้ว ในการทำเช่นนั้นจริงๆให้เปิด TextEdit ในโหมด root ก่อนหรือใช้โปรแกรมแก้ไขอื่น: apple.stackexchange.com/questions/20199/…
cregox

0

นี่ไม่ใช่คำถามการเขียนโปรแกรม แต่ฉันทำ google อย่างรวดเร็วและพบไซต์นี้:

http://ss64.com/osx/

http://ss64.com/osx/pico.html pico: เครื่องมือแก้ไขข้อความอย่างง่าย

http://ss64.com/vi.html vi: เครื่องมือแก้ไขข้อความ

และไซต์นี้จะอธิบายวิธีใช้ TextEdit จากเทอร์มินัล

http://www.tech-recipes.com/rx/2754/os_x_edit_file_using_textedit_as_root_superuser/


1
ไม่มีลิงก์ใดที่แสดงวิธีเปิดไฟล์ใน textEdit

ลิงก์สุดท้ายทำ

มันอย่างไม่ขอบคุณสำหรับการเพิ่มว่าคุณเป็น googler เร็วกว่าครั้งที่หนึ่ง

ใช้งานได้หรือไม่ เพราะฉันไม่มีประสบการณ์กับ Mac OSX (แฟน Windows ของ Windows ^^)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.