ฉันจะเริ่ม TextEditor จากบรรทัดคำสั่งได้อย่างไร


65

ฉันทำงานมากที่บรรทัดคำสั่งใน Terminal และต้องการเริ่มแก้ไขข้อความในไฟล์บางไฟล์ ฉันมาจาก Linux Land และปกติใช้ kwrite หรือ gedit จาก bash shell พยายามค้นหา Mac ที่เทียบเท่าลองเดาดู

user> textedit somefile.txt

และ

user> texteditor somefile.txt

และ

user> TextEditor somefile.txt

และรูปแบบอื่น ๆ ฉันหาชื่อแอพตัวแก้ไขข้อความไม่เจอ (ไม่, vi ไม่ได้เป็นที่ชื่นชอบของฉัน) ผิดปกติผู้ชายที่ร้าน Apple ไม่รู้จักนี้


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

@Viktor โดยทั่วไปไม่ดีที่จะโพสต์สิ่งที่ผู้คนพูดไปแล้วและรายการที่ซ้ำกันจะถูกลบออก เนื่องจากคุณมีบางอย่างที่จะเพิ่มวิธีที่ดีที่จะไปคือคำตอบที่บอกว่า "นอกจากเทคนิคของนาธานและมิปาดี ... " หรือแสดงความคิดเห็นเกี่ยวกับคำตอบเหล่านั้นพร้อมกับภาคผนวกของคุณ สิ่งที่คุณทำที่นี่ไม่เป็นไร แต่ไม่ใช่ 'แนวปฏิบัติที่ดีที่สุด' ขอบคุณที่ถาม; ตอนนี้คุณรู้อนาคตแล้ว :-)
Nathan Greenstein

คำตอบ:


105

ต่อไปนี้เป็นคำตอบที่เป็นไปได้ทั้งหมดใช้ยูทิลิตีบรรทัดคำสั่ง 'open'

-aตัวเลือกหมายความว่า "เปิดอาร์กิวเมนต์ไฟล์ที่มีการประยุกต์ใช้ชื่อว่า":

open -a TextEdit file.txt

-eตัวเลือกหมายความว่า "เปิดอาร์กิวเมนต์ไฟล์ด้วยโปรแกรม TextEdit":

open -e file.txt

-tตัวเลือกหมายความว่า "เปิดไฟล์ที่มีการประยุกต์ใช้ค่าเริ่มต้นสำหรับไฟล์แก้ไขข้อความตามที่กำหนดผ่าน LaunchServices" โดยค่าเริ่มต้นนี้จะเป็น /Applications/TextEdit.app; อย่างไรก็ตามเป็นไปได้ที่การตั้งค่านี้จะถูกแทนที่:

open -t file.txt

สุดท้ายไฟล์ที่ของ "ข้อความ" open file.txtประเภทใดจะได้รับการเปิดโดยการประยุกต์ใช้ผูกพันที่จะพิมพ์ข้อความถ้าคุณเพียงแค่พูดว่า คุณสามารถใช้คำสั่ง "file" เพื่อแสดงว่าระบบปฏิบัติการคิดว่าไฟล์ประเภทใด: file file.txt. ตัวอย่างเช่นหากคุณเปลี่ยนชื่อ "file.txt" เป็นเพียง "textfile" แล้วopen textfileจะยังคงเปิดในแอปพลิเคชันการแก้ไขไฟล์ข้อความเริ่มต้นตราบใดที่file textfileยังคิดว่า "textfile" เป็นไฟล์ข้อความจริง ๆ

openสามารถเปิดไฟล์ 'ความช่วยเหลือ' สั้น ๆได้โดยเรียกใช้

open --help

หรือคุณสามารถอ่านคู่มือทั้งหมดได้

man open

2
ฉันใส่สิ่งนี้ลงใน. bash_profile ของฉัน: "นามแฝง o = 'open -a Sublime \ Text \ 2'" แล้วฉันก็พิมพ์ที่ command prompt: "o text.txt" มันง่ายมากที่นิ้ว;)
cmroanirgo

openเป็นวิธีที่ 'ถูกต้อง' เท่านั้นในการทำเช่นนี้
CousinCocaine

13

โปรแกรมแก้ไขข้อความเริ่มต้นคือ TextEdit คุณสามารถเปิดไฟล์ข้อความได้โดยใช้open -a:

$ open -a TextEdit hi.txt

หากคุณต้องการใช้แอพอื่นเพียงแค่ใส่ชื่อในแบบนี้:

$ open -a Coda index.html

สิ่งนี้ใช้ได้สำหรับฉัน (OSX Mojave) พร้อมทั้ง TextEdit และ Visual Studio Code ขอขอบคุณ!
RJ Dunnill

8

มีสองวิธี:

หากโปรแกรมแก้ไขข้อความเริ่มต้นของคุณคือ TextEdit คุณสามารถใช้

open -t file.txt

เพื่อเปิดใน TextEditor

หากตัวแก้ไขข้อความเริ่มต้นของคุณไม่ใช่ TextEdit และคุณต้องการเปิดใน TextEdit โดยเฉพาะคุณสามารถใช้

/Applications/TextEdit.app/Contents/MacOS/TextEdit file.txt

สามารถสร้างนามแฝงในไฟล์ shell config ได้


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

@Viktor Haag: ทั้งคู่จะทำงานร่วมกับ TextEdit
mipadi

6

หากคุณค้นหาวิธีที่สะดวกสบายด้วย "linux feel" มากกว่านี้ให้เพิ่มสิ่งต่อไปนี้ลงใน~/.profile:

alias textmate='open -a TextMate'

หรือ

alias textedit='open -a TextEdit'

ขึ้นอยู่กับบรรณาธิการของคุณ


2
แม้ว่าการ.profileทำงาน.bash_profileจะพบได้ทั่วไปใน OS X
CousinCocaine

3

หากคุณเริ่มเขียนเทอร์มินัลแล้วและต้องการดำเนินการแก้ไขที่คุณชื่นชอบต่อไปคุณสามารถกดctrl+ X, ctrl+ Eและทำงานต่อใน emacs หรือ bash editor เริ่มต้นของคุณ

หากคุณต้องการเปลี่ยนโปรแกรมแก้ไขเริ่มต้นให้เปลี่ยนตัวแปรสภาพแวดล้อม EDITOR เป็นรายการโปรดของคุณ:

EDITOR=vim;export EDITOR

0

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

ลอง:

user> vimtutor 

เพื่อหาการควบคุม

คุณสามารถแก้ไขไฟล์ได้ค่อนข้างดี ไวยากรณ์ดูเหมือนว่า:

user> vim foo.txt

0

TextWrangler (ตอนนี้หมดอายุและแทนที่ด้วย BBEdit) เมื่อติดตั้งด้วยCommand Line Utilities, อนุญาตให้คุณทำ:

edit README.txt

เพื่อเปิดใช้ TextWrangler ซึ่งสำหรับฉันนั้นดีกว่าopen -t README.txtแต่บางทีฉันอาจเป็นแค่ความเฉื่อย

FYI - editเป็นไฟล์ปฏิบัติการไบนารี (จากชุด TextWrangler) ไม่ใช่แค่นามแฝงหรือ symlink


-3

ใช้geditคำสั่ง:

gedit your-file.ext

2
geditไม่ได้รับการติดตั้งเป็นค่าเริ่มต้นบน MacOS แม้ว่าจะสามารถติดตั้งผ่าน homebrewbrew install gedit
สกอต

มันใช้งานได้กับ Linux: D
Alex Chaliy

OP กำลังมองหาโซลูชัน MacOS ไม่ใช่ Linux และกล่าวถึงการมองหาสิ่งที่จะแทนที่ gedit บน Linux นอกจากนี้เป็นไซต์ MacOS ดังนั้นโซลูชัน Linux อาจเป็น offftopic
สกอต
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.