ฉันจะทำให้ Sublime Text เป็นเครื่องมือแก้ไขเริ่มต้นสำหรับ Git ได้อย่างไร


216

ฉันมีการตั้งค่า Sublime Text 2 เป็นปัญหาที่เกิดขึ้นกับcore.editorgit

ฉันได้อ่านทุกโพสต์ฉันสามารถหาที่อยู่ปัญหา แต่ก็ยังไม่มีอะไรทำงานให้ฉัน ฉันใช้ Windows

ฉันได้ทำไปแล้ว:

git config --global core.editor "'C:/Program Files/Sublime Text 2/sublime_text.exe'"

-mและพยายามที่มีข้อโต้แย้งต่างๆเช่น เมื่อฉันเปิดของฉัน.gitconfigนี่คือสิ่งที่อยู่ในนั้น:

[user]
    name = Spencer Moran
    email = smoran02@gmail.com
[core]
    editor = 'C:/Program Files/Sublime Text 2/sublime_text.exe'

ถ้าฉันไปที่ Git และพิมพ์:

README.markdown --edit

ไฟล์ README เปิดขึ้นใน Notepad ไม่ใช่ Sublime Text

ใครบ้างมีความคิดในสิ่งที่ฉันทำผิดหรือฉันจะแก้ไขได้อย่างไร


11
หากคุณพิมพ์เฉพาะ README.markdown --editใน cmd.exe gitจะไม่เกี่ยวข้องเลย เปลี่ยนการเชื่อมโยงไฟล์ของคุณใน windows หากคุณต้องการให้มันทำงาน
ต.ค.

1
FYI ทั่วไปสำหรับคำตอบส่วนใหญ่ด้านล่าง: -wหมายถึง "รอให้ไฟล์ปิดก่อนส่งคืน" และ-nหมายถึง "เปิดหน้าต่างใหม่" ที่มา: docs.sublimetext.info/en/latest/command_line/command_line.html
MarredCheese

การตั้งค่าโปรดของฉันสำหรับการใช้ Sublime Text 3 เป็นตัวแก้ไขคอมไพล์ของฉัน: stackoverflow.com/questions/2596805/…
Gabriel Staples

คำตอบ:


343

ของ windows

ข้อความประเสริฐ 2 (สร้าง 2181)

Build 2181ล่าสุดเพิ่งเพิ่มการรองรับ-wอาร์กิวเมนต์อาร์กิวเมนต์บรรทัดคำสั่ง (wait) การกำหนดค่าต่อไปนี้จะช่วยให้ ST2 ทำงานเป็นตัวแก้ไข git เริ่มต้นของคุณบน Windows การทำเช่นนี้จะทำให้ git สามารถเปิด ST2 เพื่อส่งข้อความได้

git config --global core.editor "'c:/program files/sublime text 2/sublime_text.exe' -w"

ข้อความประเสริฐ 3 (สร้าง 3065)

Sublime Text 3 (Build 3065) เพิ่มตัวsubl.exeช่วยบรรทัดคำสั่ง ใช้subl.exe -hสำหรับตัวเลือกที่มีให้คุณ ฉันมีhot_exit: trueและremember_open_files: trueตั้งค่าในการตั้งค่าผู้ใช้ Sublime Text ของฉัน ฉันได้พบต่อไปนี้เพื่อ git config ทำงานได้ดีสำหรับฉัน

git config --global core.editor "'c:/program files/sublime text 3/subl.exe' -w"

Mac และ Linux

ตั้ง Sublime เป็นโปรแกรมแก้ไขสำหรับ Git ของคุณโดยพิมพ์คำสั่งต่อไปนี้ในเทอร์มินัล:

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


ด้วยการกำหนดค่า Git นี้แท็บใหม่จะเปิดขึ้นในโปรแกรมแก้ไขของฉัน ฉันแก้ไขข้อความกระทำบันทึกแท็บ ( Ctrl+ S) และปิด ( Ctrl+ W)

Git จะรอจนกว่าแท็บจะปิดเพื่อทำงานต่อไป


14
โดยส่วนตัวนอกเหนือจากการตั้งค่าโปรแกรมแก้ไขเป็น @jrotello แนะนำประสบการณ์ ST2 / git ของฉันดีขึ้นมากเมื่อฉันเพิ่มตัวเลือกต่อไปนี้ในการตั้งค่า ST2 ของฉัน: {"hot_exit": false, "จดจำ _open_files": false, "close_windows_when_empty" }
Sandy

6
@Phrogz: ฉันก็สามารถที่จะได้รับมันทำงานใน .gitconfig ของฉันกับไวยากรณ์ต่อไปนี้:editor = 'C:\\Program Files\\Sublime Text 2\\sublime_text.exe' -w
awayken

4
สำหรับฉันนี้จะเปิดแท็บใหม่หากข้อความประเสริฐเปิดแล้ว ปิดแท็บอย่าให้คอมไพล์รู้ ฉันได้ลองแล้ว - หลายครั้ง แต่ดูเหมือนจะไม่ทำอะไรเลย
David Faivre

5
โปรดทราบว่าเมื่อใดที่hot_exitเป็นเท็จและไฟดับงานที่ไม่ได้บันทึกทั้งหมดจะเกิดขึ้น !!!!!!!!!!
Jürgen Paul

4
ที่จริงแล้วการใช้ "-n -w" ดูเหมือนจะไม่สามารถบอกได้ว่าหน้าต่างข้อความประเสริฐประเสริฐ (ถ้าฉันมีหน้าต่างประเสริฐเปิดอยู่อย่างน้อย) "-w --multiinstance" ยังคงทำงานได้ดีที่สุดแม้ว่าในหน้าต่างประเสริฐใหม่แท็บที่มีอยู่จะเปิดขึ้นอีกครั้ง ดูเหมือนว่าพวกเขาจะถูกเพิกเฉยได้อย่างปลอดภัย
David Faivre

94

คุณสามารถใช้คำสั่งนี้บน Mac และ Linux:

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

26
ที่จริงแล้วข้อเสนอแนะสำหรับ Mac ในปัจจุบันคือการเชื่อมโยง subl ไปยังที่อื่น ๆ ใน $ PATH ของคุณและตั้งค่าตัวแก้ไขของคุณเป็น 'subl -w' มันอยู่ในเอกสารอย่างเป็นทางการ
Sandy

8
เอกสารที่ฉันอ้างถึงคือ: sublimetext.com/docs/2/osx_command_line.html
Sandy

8
เอกสารบอกว่าจะใช้subl -wแต่ถ้าคุณมีแท็บอื่นเปิดอยู่สิ่งนี้จะทำงานไม่ถูกต้อง ฉันพบว่าใช้subl -n -wงานได้ดีขึ้นเนื่องจากเปิดหน้าต่างใหม่
iano

1
@iano หากฉันทำเช่นนั้นฉันควรปิดแท็บหรือปิดหน้าต่างเพื่อคอมมิทหรือไม่ ปิดหน้าต่างไม่ทำงาน
Karthik T

สิ่งนี้จะเปิดเอกสารว่างเปล่าในประเสริฐสำหรับฉันจนกว่าฉันจะทำตามคำแนะนำเหล่านี้: sublimetext.com/docs/3/osx_command_line.htmlแต่เปลี่ยนเส้นทางจาก Sublime Text.app เป็น Sublime Text 2.app
Evanss

14

สำหรับ Mac OS X ในไฟล์ ~ / .gitconfig ภายใต้ [core] ฉันต้องใส่รหัสนี้เพื่อแก้ปัญหาในตอนท้าย

editor = /Applications/Sublime\\ Text.app/Contents/SharedSupport/bin/subl  -n -w

นี่คือเมื่อ subl ทำงานได้ดี แต่ git ไม่สามารถเข้าถึงได้ และได้แสดงข้อผิดพลาดเหล่านี้

subl -n -w: subl: command not found
error: There was a problem with the editor 'subl -n -w'.

11

สำหรับMac & Sublime Text 3 :

หากgit config --global core.editor "subl -n -w"ไม่ได้ผลให้ใช้git configคำสั่งนี้:

$ git config --global core.editor "'/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl' -n -w"

หมายเหตุ: มันไม่ได้มีเครื่องหมายแบ็กสแลชที่กำลังหลบหนี


7

สิ่งที่ทำงานให้ฉันใน cygwin / zsh:

ใน / usr / local / bin สร้างไฟล์ subl_git

#!/bin/bash
/cygdrive/c/Program\ Files/Sublime\ Text\ 2/sublime_text.exe -w -n `cygpath -w $@`

ใน gitconfig:

editor = /usr/local/bin/subl_git

ขอโทษคำถามมือใหม่ของฉัน แต่ฉันจะเข้าถึง gitconfig ได้อย่างไร สิ่งนี้แตกต่างจากการใช้งานgit config --listหรือไม่ ขอบคุณล่วงหน้า.
Ryan Chase

ที่เพิ่งออกรายการ คุณต้องแก้ไข
gitconfig

ฉันมีที่ว่างในโฟลเดอร์ผู้ใช้ของฉันดังนั้นฉันจึงใช้การแก้ไข -"/cygdrive/c/Program Files/Sublime Text 3/subl.exe" -w -n "`cygpath -d -w "$@"`
Mark

6

ด้วย Sublime Text 2 และการกำหนดค่าต่อไปนี้หากไม่มีสิ่งใดเกิดขึ้นเมื่อคุณปิดไฟล์ความคิดเห็นของคอมมิทคอมเม้นท์:

git config --global core.editor "'c:/program files/sublime text 2/sublime_text.exe' -w"

หากคอมมิชชันคอมมิชชันไม่เสร็จสิ้นเมื่อคุณปิดไฟล์ความคิดเห็น COMMIT_EDITMSG ใน Sublime ฉันพบว่าอาจเป็นเพราะคุณกำลังใช้งาน CMD ในโหมดผู้ดูแลระบบ (และเปิด Sublime Text แล้วในโหมดผู้ดูแลระบบ) ฉันมีปัญหาเดียวกันและจะทำงานให้ฉันเมื่อฉันเริ่มต้นของฉันCMD ในโหมดปกติ

Ps: เพียงแค่ต้องการที่จะตอบปัญหา @david ชี้ให้เห็นในความคิดเห็นของคำตอบที่ยอมรับ แต่ฉันไม่สามารถโพสต์ความคิดเห็นตั้งแต่ฉันใหม่ที่นี่ ... ดังนั้นฉันจึงได้รับคำตอบใหม่เพราะฉันคิดว่านี่อาจเป็น มีประโยชน์สำหรับบางคนที่พบปัญหา


ขอบคุณสำหรับทิป. คุณรู้วิธีแก้ปัญหาหรือไม่?
Scott Wegner

@ScottWegner เพียงแค่เปิด CMD ของคุณในโหมดที่ไม่ใช่ผู้ดูแลระบบเพื่อแก้ไขปัญหา คุณไม่จำเป็นต้องอยู่ในโหมดผู้ดูแลระบบเพื่อรันคำสั่ง git อย่างไรก็ตามหากคุณจำเป็นต้องอยู่ในโหมดผู้ดูแลระบบฉันไม่พบวิธีแก้ไขปัญหานี้ยกเว้นเปิดอินสแตนซ์ CMD อื่น
Francois

ขอบคุณสำหรับการติดตาม ฉันจบด้วยเชลล์ที่ยกระดับเนื่องจากสภาพแวดล้อมการพัฒนาของฉันต้องการโหมดผู้ดูแลระบบสำหรับเครื่องมืออื่น ๆ (Visual Studio) ดังนั้นฉันจึงรันเชลล์ทั้งหมดที่ยกระดับขึ้น ฉันคิดว่าฉันจะสำรวจเฉพาะการยกระดับเครื่องมือที่ต้องการ
Scott Wegner

1
@ScottWegner ฉันใช้Cmderเป็นการส่วนตัว(เวอร์ชั่นเต็มรวมถึง msysgit) อนุญาตให้อินสแตนซ์ mulitple ของ CMD, bash หรือ Shells อื่น ๆ , ในหน้าต่างที่ไม่ซ้ำกับแท็บ คุณสามารถเปิดแท็บบางแท็บในโหมดผู้ดูแลระบบและอื่น ๆ ในโหมดปกติ ฉันมักจะมีหนึ่งแท็บที่ทุ่มเทให้กับคอมไพล์และแท็บอื่น ๆ สำหรับเครื่องมืออื่น ๆ ของฉัน บางทีคุณอาจสนใจลองใช้ดู มันเป็นเครื่องมือที่ยอดเยี่ยม!
Francois

เรื่องโหมดผู้ดูแลระบบ - ฉันคิดว่าเคล็ดลับคือเปลือกและประเสริฐของคุณจะต้องใช้สิทธิ์เดียวกัน เช่นหากคุณใช้งานเครื่องของคุณสูงและดีเลิศยังทำงานได้อย่างราบรื่น
Joseph Evensen

5

ฉันเพิ่งทำสำเร็จด้วยความช่วยเหลือของ PowerShell (เครื่องมือบรรทัดคำสั่งสำหรับ windows ซึ่งยังสามารถใช้เป็นบรรทัดคำสั่งเริ่มต้นบน GithubforWindows)

เพียงสร้างโฟลเดอร์ "WindowsPowerShell" ที่ "C: \ Users \% ชื่อผู้ใช้% \ My Documents" จากนั้นสร้างไฟล์ชื่อ "profile.ps1" ตรวจสอบให้แน่ใจว่าคุณมีนามสกุลไฟล์ที่ถูกต้อง. ps1 และไม่ใช่. txt ใน profile.ps1 ให้วางบรรทัดนี้เพื่อตั้งค่าคำสั่ง alias:

Set-Alias subl 'c:\program files\sublime text 2\sublime_text.exe'

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

ตอนนี้ฉันสามารถแก้ไขไฟล์ด้วย Sublime Text 2 ผ่านคำสั่ง PowerShell เพียงแค่พิมพ์:

subl filename

หวังว่านี่จะเป็นประโยชน์ ...


4
ในการเปิดโฟลเดอร์ปัจจุบันใน Sublime Text 2 คุณสามารถใช้: subl .
awayken

สำหรับ Sublime Text 3 ให้ใช้ subl.exe ใหม่:Set-Alias subl 'c:\program files\sublime text 3\subl.exe'
wtjones

3

ฉันประสบปัญหาเดียวกันกับตัวแก้ไข git ใน Windows เมื่อเย็นนี้และในที่สุดฉันก็ได้รับมา

คุณจะต้องกำหนดเส้นทางตัวแก้ไขด้วยไวยากรณ์ bash และใช้รูปแบบ DOS 8.3 เพื่อหลีกเลี่ยงช่องว่าง :

สิ่งนี้ใช้ไม่ได้ (สำหรับฉัน):

git config --global core.editor "C://Program files/Sublime Text/sublime_text.exe"

สิ่งนี้ทำ:

git config --global core.editor /C/PROGRA~1/SUBLIME~1/sublime_text.exe

คุณสามารถรับชื่อ DOS 8.3 สำหรับไดเรกทอรีที่มีdir / x


1

ฉันแค่ดิ้นรนกับสิ่งนี้ด้วยเหตุผลบางอย่างไม่มีตัวอย่างข้างต้นที่เหมาะกับฉัน นี่เป็นวิธีแก้ปัญหาของฉัน:

 git config --global core.editor "'c:/<path to sublime>/sublime_text.exe' -w $*"

คุณต้องการ' 'เส้นทางรอบและ$*จุดสิ้นสุดของ args โดย" "เฉพาะ


1

หากคุณเป็นผู้ใช้ Mac ต่อไปนี้เป็นวิธี:

git config --global core.editor '/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl'

1

ดีฉันมีปัญหาในการเรียกใช้ notepad ++ จาก gitbash หลังจากตั้งเป็น core.editor ของฉัน

ฉันได้รับมันทั้งหมดแก้ไขโดยการเพิ่มบรรทัดด้านล่างไปยังไฟล์. bashrc ของฉันในไดเรกทอรีการติดตั้ง gitbash ของฉัน

alias npp='winpty "C:/Program Files (x86)/Notepad++/notepad++.exe"'

ดังนั้นฉันสามารถเรียกใช้ notepad ++ ด้วยนามแฝง "npp" ฉันรู้สึกว่าสิ่งนี้สามารถช่วยคุณได้หากคุณเปลี่ยนไดเรกทอรีเป็นตัวแก้ไขที่คุณต้องการใช้


1

สำหรับผู้ใช้ MAC ฉันสามารถพูดได้สำหรับ Sublime ใช้ต่อไปนี้:

ขั้นแรกตรวจสอบไฟล์. gitconfig โดยใช้คำสั่ง:

  1. cd ~
  2. ls -la
  3. cat .gitconfig

ตอนนี้เราสามารถเพิ่มการกำหนดค่านี้:

git config --global core.editor "subl -n -wl1"

ไหนl1จะบอกการเริ่มต้นที่ 1 สาย


0

สำหรับ Windows 7 ฉันได้พบวิธีแก้ไขปัญหาต่อไปนี้แล้ว:

git config --global core.editor "C:/Program\ Files/Sublime\ Text\ 2/sublime_text.exe -n -w"

0

บน Windows หากคุณกำลังติดตั้ง git คุณสามารถเลือกโปรแกรมแก้ไขอื่นและให้บรรทัดคำสั่งต่อไปนี้ C: \ Program Files \ Sublime Text 3 \ sublime_text.exe -w รูปภาพตัวติดตั้ง


0

ฉันไม่เห็นอินสแตนซ์ของการอัปเดตใด ๆ ที่เกี่ยวข้องกับ Windows ที่อนุญาตให้การติดตั้ง Git เลือก Sublime Text เป็นโปรแกรมแก้ไขข้อความเริ่มต้นของคุณโดยไม่มี sturm und drang ของรหัสแทนที่เดิมทั้งหมด ... ข้อความประเสริฐแสดงเป็นตัวเลือกในการติดตั้ง Git อีกครั้ง


0

ในMacOS (ซ้อม)ด้านล่างใช้งานได้สำหรับSublime 3 :

git config --global core.editor "/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl -n -w"

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