เปลี่ยนตัวแก้ไขเริ่มต้นสำหรับไฟล์ที่เปิดในเทอร์มินัลหรือไม่ (เช่นตั้งค่าเป็น TextEdit / Coda / Textmate)


110

มีวิธีทำให้ไฟล์ที่เปิดเพื่อแก้ไขในเทอร์มินัลเปิดใน Textedit แทนหรือไม่?

ตัวอย่างเช่นในกรณีที่คำสั่งอาจเปิดไฟล์เพื่อแก้ไข (เช่นgit commit) แทนที่จะเปิดไฟล์นั้นเป็นกลุ่มหรือ emacs จะเปิดใน Textedit (หรืออาจเป็นแอปพลิเคชันแก้ไขข้อความอื่นที่คุณเลือกเช่น Coda หรือ Sublime)

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


1
ใช่ฉันใช้ OSX (10.6.4)
Diogenes

ทางออกที่ดีที่สุดที่ฉันพบคือใช้duti-> apple.stackexchange.com/a/123954/58507
Gomino

สำหรับ mac os 10.10+ โซลูชันข้างต้นจะไม่ทำงาน ลองใช้apple.stackexchange.com/questions/123833/…
Rishikesh Shukla

คำตอบ:


137

โปรแกรมส่วนใหญ่จะตรวจสอบ$EDITORตัวแปรสภาพแวดล้อมดังนั้นคุณสามารถตั้งค่านั้นเป็นเส้นทางของ TextEdit ใน bashrc ของคุณ Git จะใช้สิ่งนี้เช่นกัน

วิธีทำ:

  • เพิ่มสิ่งต่อไปนี้ใน~/.bashrcไฟล์ของคุณ:
    export EDITOR="/Applications/TextEdit.app/Contents/MacOS/TextEdit"
  • หรือเพียงแค่พิมพ์คำสั่งต่อไปนี้ใน Terminal ของคุณ:
    echo "export EDITOR=\"/Applications/TextEdit.app/Contents/MacOS/TextEdit\"" >> ~/.bashrc

หากคุณใช้ zsh ให้ใช้~/.zshrcแทน~/.bashrc.


20
สมบูรณ์แบบนี้ทำมัน ฉันยังรันคำสั่งนี้เพื่อให้แน่ใจว่าคอมไพล์ทำงานได้ตามที่ฉันคาดหวัง นี้git config --global --unset-all core.editorแล้วgit config --global --add core.editor "open -W -n".
Diogenes

คุณใช้เปลือกอื่นหรือไม่?
ทางเลือกใน

5
ในกรณีของฉันฉันใช้zshอย่างเห็นได้ชัดดังนั้นฉันจำเป็นต้องอัปเดต.zshrcไฟล์ config
Malloc

3
ใช้เครื่องหมายคำพูดหากเส้นทางไปยังเครื่องมือแก้ไขของคุณมีช่องว่างเช่น "echo "export EDITOR=\"/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl\"" >> ~/.bashrc" และคุณอาจต้องโหลด. bashrc ของคุณซ้ำด้วย:source ~/.bashrc
Mars Redwyne

ขอบคุณฉันได้ตั้งค่าตัวแก้ไขนาโนเป็นค่าเริ่มต้นแล้ว วิธีเพิ่มลงใน OSX: http://hints.macworld.com/article.php?story=20021017065800302
Micer

29

ใช้git config --global core.editor mate -wหรือgit config --global core.editor openตามที่ @dmckee แนะนำในความคิดเห็น

อ้างอิง: http://git-scm.com/docs/git-config


3
... และการตั้งค่าให้ใช้openหมายความว่าคุณจะได้รับค่าเริ่มต้นของ Finder โดยอัตโนมัติ ดังนั้นการเปลี่ยนแปลงในตัวค้นหาจึงแพร่กระจายไปตามธรรมชาติ
dmckee --- อดีตผู้ดูแลลูกแมว

4
openใช้ Launch Services เพื่อกำหนดประเภทไฟล์โดยส่วนใหญ่จะขึ้นอยู่กับนามสกุล หากไฟล์มีนามสกุลที่ไม่รู้จักจะไม่สามารถเปิดไฟล์ได้ โดยทั่วไปโปรแกรมแก้ไข CLI ของคุณควรเป็นสิ่งที่ถือว่าไฟล์ข้อความ ...
Gordon Davisson

คำแนะนำที่ชัดเจน (มาก) จะเป็นประโยชน์มาก ... การอ้างอิงนั้นสั้นมาก
Diogenes

2
@ Diogenes: ดูคำตอบของฉันในโพสต์อื่นหากคุณยังต้องการความช่วยเหลือที่ชัดเจนเพิ่มเติม: stackoverflow.com/questions/6435246/…
X-Istence

4
ดีกว่าgit config --global core.editor "open -W"(มิฉะนั้นคุณจะได้รับAborting commit due to empty commit message.ข้อผิดพลาด)
rsenna

18

สำหรับ OS X และ Sublime Text

ทำให้sublพร้อมใช้งาน

ใส่สิ่งนี้เข้าไป ~/.bash_profile

[[ -s ~/.bashrc ]] && source ~/.bashrc

ใส่สิ่งนี้เข้าไป ~/.bashrc

export EDITOR=subl

ฉันพบว่าสิ่งนี้ใช้ไม่ได้กับchshไฟล์. ไฟล์จะเปิดขึ้น แต่การเปลี่ยนแปลงใด ๆ จะหายไป ฉันต้องใช้chsh -s /bin/zshเพื่อสลับกระสุนด้วยตนเอง
Cryptc

9

สำหรับทุกคนที่มาที่นี่ในปี 2018:

  • ไปที่ iTerm -> Preferences -> Profiles -> Advanced -> Semantic History
  • จากเมนูแบบเลื่อนลงเลือกเปิดด้วยตัวแก้ไขและจากเมนูแบบเลื่อนลงด้านขวาให้เลือกตัวแก้ไขที่คุณต้องการ

5

ตั้งค่าตัวแก้ไขของคุณให้ชี้ไปที่โปรแกรมนี้:

/Applications/TextEdit.app/Contents/MacOS/TextEdit

ด้วย SVN คุณควรตั้งค่าSVN_EDITORตัวแปรสภาพแวดล้อมเป็น:

$ export SVN_EDITOR=/Applications/TextEdit.app/Contents/MacOS/TextEdit

จากนั้นเมื่อคุณพยายามกระทำบางสิ่ง TextEdit จะเปิดขึ้น


1
ฉันต้องการใช้/usr/bin/openเพราะจะใช้ค่าเริ่มต้นของ Finder ตามที่คุณตั้งไว้
dmckee --- อดีตผู้ดูแลลูกแมว

คุณจะทำเช่นเดียวกันกับ git ได้อย่างไร?
Diogenes

อย่างแรกก็แค่ตั้งค่า EDITOR = เป็นแบบนั้น แต่ฉันจะพิมพ์อะไรสำหรับบรรทัดที่สอง?
ผู้ใช้


0

หากคุณต้องการให้ตัวแก้ไขทำงานร่วมกับการดำเนินการคอมไพล์การตั้งค่า$EDITORตัวแปรสภาพแวดล้อมอาจไม่เพียงพออย่างน้อยก็ไม่ใช่ในกรณีของ Sublime เช่นถ้าคุณต้องการ rebase มันจะบอกว่า rebase สำเร็จ แต่คุณชนะ ' ไม่มีโอกาสแก้ไขไฟล์ไม่ว่าด้วยวิธีใดก็ตาม git ก็จะปิดทันที:

git rebase -i HEAD~
Successfully rebased and updated refs/heads/master.

หากคุณต้องการให้ Sublime ทำงานกับคอมไพล์อย่างถูกต้องคุณควรกำหนดค่าโดยใช้:

git config --global core.editor "sublime -n -w"

ผมมาที่นี่มองหานี้และพบว่าการแก้ปัญหาในกระทู้นี้บน GitHub


0

ทำให้ Sublime Text 3 โปรแกรมแก้ไขข้อความเริ่มต้นของคุณ: (จำเป็นต้องรีสตาร์ท)

defaults write com.apple.LaunchServices LSHandlers -array-add "{LSHandlerContentType=public.plain-text;LSHandlerRoleAll=com.sublimetext.3;}"

ทำให้ประเสริฐจากนั้นโปรแกรมแก้ไขข้อความคอมไพล์เริ่มต้นของคุณ git config --global core.editor "subl -W"

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