ไม่สามารถดำเนินการแก้ไข


153

ฉันไม่จำเป็นต้องแก้ไขข้อความยืนยันหลายครั้ง แต่มันเกิดขึ้นครั้งหรือสองครั้งและฉันจำไม่ได้ว่าเคยเห็นสิ่งนี้ ฉันหวังว่าคนอื่นมี เมื่อฉันgit rebase -i HEAD~7รายการที่คาดหวังจะเปิดใน vi อย่างที่คาดไว้ ผมเปลี่ยนpickค่าที่เหมาะสมแล้วedit:wq

ไม่สามารถดำเนินการแก้ไข

การcore.editorตั้งค่าในโลกของฉัน.gitconfigคือvi(ฉันยังได้เปลี่ยนเป็นvimในการย้ายอย่างหมดหวัง) ฉันลองใช้mateแต่นั่นไม่ได้เปิดรายการเริ่มต้นอย่างถูกต้องดังนั้นฉันจึงเปลี่ยนกลับ

ฉันใช้ v1.7.3 และยินดีรับข้อเสนอแนะ


1
git_editor "$TODO" || die_abort "Could not execute editor"แหล่งรวม เนื่องจากคุณบอกว่าเครื่องมือแก้ไขเกิดขึ้นจริงนั่นหมายความว่ามันส่งคืนรหัสการออกที่ไม่ใช่ศูนย์ คุณสามารถทำซ้ำพฤติกรรมที่ใช้งานได้ตามปกติบนบรรทัดคำสั่งหรือไม่
Cascabel

สิ่งที่แปลกสำหรับฉันคือ vi เปิดตัวเพื่อแสดงรายการความมุ่งมั่น แต่เมื่อฉันบันทึกและปิดทุกสิ่งที่เพิ่งตาย ดูคำตอบของฉันสำหรับการเปลี่ยนแปลงที่ฉันทำเพื่อให้มันเริ่มทำงานได้อย่างน่าอัศจรรย์
Rob Wilkerson

คุณใช้ระบบปฏิบัติการอะไร ใช้ OSX Lion ฉันมีปัญหาเดียวกันและคำตอบของคุณได้รับการแก้ไข +1
Adam Lewis

@ AdamLewis - ฉันไม่แน่ใจตอนนี้ แต่อาจเป็น 10.6 หรือ .7 ตามวันที่ OSX แน่นอน
Rob Wilkerson

5
ฉันคิดว่าฉันสร้างปัญหานี้เมื่อฉันใช้ homebrew เพื่อติดตั้งกลุ่มใหม่ การตั้งค่าgit config --global core.editor "/usr/local/bin/vim"คงที่สำหรับฉัน
mmell

คำตอบ:


185

เมื่อวานเป็นเพียงหนึ่งในวันเหล่านั้น ฉันตัดสินใจที่จะตั้งค่าเส้นทางแบบเต็มเป็น vi (เช่น/usr/bin/vi) แทนที่จะเป็นไฟล์ปฏิบัติการ ตอนนี้ทุกอย่างทำงานได้ ฉันต้องยอมรับว่าฉันไม่เข้าใจเพราะมันviสามารถปฏิบัติการได้อย่างสมบูรณ์แบบด้วยตัวเอง ( $EDITORตัวแปร env ของฉันตั้งไว้ที่vi) แต่มันใช้งานได้และกรรมทางเทคนิคของฉันก็ไม่ค่อยดีนักดังนั้นเมื่อเร็ว ๆ นี้ฉันก็ไม่ควรตั้งคำถาม เทพเจ้าจะ ...


6
คุณตั้งค่าพา ธ แบบเต็มเป็น / usr / bin / vi ที่ไหน
Amala

131
ฉันวางไว้ในไฟล์กำหนดค่าทั่วโลกของฉัน: git config --global core.editor "/usr/bin/vim".
Rob Wilkerson

ฉันมีปัญหาเดียวกัน ด้วยเหตุผลที่ฉันไม่สามารถเข้าใจได้การตั้งค่า core.editor ของฉันถูกตั้งค่าเป็น / user / bin / vim แทนที่จะเป็น / usr / bin / vim
jonnybot

มีปัญหาเดียวกัน แต่มี Sublime Text - เส้นทางแบบเต็มในที่สุดก็แก้ไขสิ่งต่าง ๆ ซึ่งแปลกเพราะฉันแน่ใจว่ามันทำงานได้ดีมาก่อน ... : - \
Hal

git config --global color.editor "/usr/local/bin/vim"ทำงานให้ฉันได้แล้ว :) ขอบคุณ
przbadu

159

คำสั่งดังต่อไปนี้

git config --global core.editor /usr/bin/vim

แก้ไขมัน

[แก้ไข]

ตอนนี้ฉันเห็นว่ามีคนโพสต์ไว้ในความคิดเห็นแล้ว หวังว่ามันจะมีประโยชน์สำหรับคนตาบอดบางคนเช่นฉัน


6
สำหรับ Windows เช่น (ไม่มีเครื่องหมายคำพูดเดี่ยว, เป็นปัญหาของฉัน): git config - global core.editor "'C: \ Program Files (x86) \ Vim \ vim74 \ vim.exe'"
chrjs

1
ใช่นี่ ^ ในการชี้แจงเรื่องนี้ให้ใช้เครื่องหมายคำพูดคู่รอบคำพูดเดี่ยวรอบ ๆ พา ธ ไปยังไฟล์ที่เรียกทำงานได้
Jacob

ทำงานเหมือนจับใจ!
R11G

7

ซึ่งแตกต่างจากคำตอบอื่น ๆ ที่นี่สำหรับฉันใช้เส้นทางสัมบูรณ์เพื่อ vi และการตั้งค่า git core.editorไม่เพียงพอที่จะแก้ปัญหา (สิ่งเหล่านั้นเข้าที่แล้ว)

ในสถานการณ์ของฉันปัญหาได้รับการแก้ไขโดยการเพิ่มการ-fตั้งค่าสถานะคำสั่ง vi:

git config --global core.editor '/usr/bin/vi -f'

เมื่อ-fตัวเลือกนี้อยู่ในตำแหน่งฉันสามารถใช้git rebase -iและเมื่อฉันบันทึกและออกจากรายการกระทำการ rebase ดำเนินการตามที่ควรแทนที่จะให้ข้อผิดพลาด "ไม่สามารถดำเนินการแก้ไข"

หน้าคนเป็นกลุ่มกล่าวว่าในเรื่องเกี่ยวกับตัวเลือกที่มี-f,

สำหรับเวอร์ชัน GUI นั้น Vim จะไม่แยกและแยกออกจากเชลล์ที่เริ่มต้น ... ตัวเลือกนี้ควรใช้เมื่อ Vim ถูกเรียกใช้งานโดยโปรแกรมที่จะรอให้เซสชันแก้ไขเสร็จสิ้น (เช่นเมล)

ดีฉันไม่ได้ใช้รุ่น GUI ที่ฉันรู้ ฉันทำงานgitที่บรรทัดคำสั่ง bash ในหน้าต่างเทอร์มินัลบน masOS Sierra 10.12.6 แต่เนื่องจากgit rebase -iรอให้เซสชันการแก้ไขเสร็จสิ้นฉันคิดว่านั่นเป็นสาเหตุที่-fตัวเลือกมีความจำเป็นที่นี่ อาจจะเป็นกลุ่ม (ไม่ได้-f) พยายามแยก / แยกออกจากเชลล์ด้วยเหตุผลบางอย่างที่ฉันไม่สามารถหาได้


6

ฉันมีปัญหานี้และมันเกิดจากบางส่วนของปลั๊กอิน vcscommand สำหรับกลุ่ม การเริ่มต้นเป็นกลุ่มด้วยคำสั่งใด ๆ เหล่านี้ส่งผลให้เกิดรหัสออก 1 ("ข้อผิดพลาด"):

  • vi
  • vim

แต่สิ่งเหล่านี้ทำให้ฉันออกจากรหัส 0 ("สำเร็จ"):

  • /usr/bin/vi
  • /usr/bin/vim
  • vi -u NONE
  • vim -u NONE

ฉันสามารถติดตามกลับไปยังปลั๊กอินเฉพาะโดยปิดใช้งาน~/.vimrcและไฟล์~/.vimโดยเปลี่ยนชื่อพวกเขาและทำงานvi -c q ; echo $?เพื่อเรียกใช้ vim อย่างรวดเร็วและพิมพ์รหัสออก


1
ฉันมีปัญหาเดียวกันและการตั้งค่าเส้นทางเต็มไปยังกลุ่มทำงาน: git config - global core.editor / usr / bin / vim
James

อีกผู้กระทำผิดที่เป็นไปได้น่าจะเป็นปลั๊กอินเชื้อโรคบน Mac OS X
กุมภาพันธ์

3

สำหรับฉันมันเป็นปัญหากับ. vimrc ของฉัน การเปลี่ยนชื่อไฟล์นั้นเป็นการชั่วคราว ตามด้วยการดีบัก. vimrc ของฉัน สิ่งนี้คล้ายกับประสบการณ์ของ Ignu มาก


ใช่ฉันมี! silent colourscheme macvim ใน. vimrc ของฉันเพื่อตั้งค่า colorscheme หากมีอยู่และไม่ผิดฉันหากไม่เป็นเช่นนั้น (บรรทัดคำสั่งจะทำงานได้) ในทางตรงกันข้ามนั่นเปลี่ยนสถานะการออกเป็น 1 เมื่อล้มเหลวแม้จะเงียบ!
Max

3

หากคุณต้องการด้วยเหตุผลใดก็ตามคุณสามารถทำสิ่งต่อไปนี้ในไฟล์กำหนดค่าส่วนกลางของคุณ:

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

1

ฉันใช้เวลาสักครู่เพื่อติดตามปัญหาของฉันกับหนึ่งในปลั๊กอินของฉัน

(โดยเฉพาะมันคือhttps://github.com/ervandew/supertab )

ฉันเดาว่าข้อเสียคือการอัปเดตปลั๊กอินทั้งหมดของฉันโดยอัตโนมัติ

ดังนั้นคำแนะนำที่ดีที่สุดให้ปิดใช้ vimrc และปลั๊กอินครึ่งหนึ่งของคุณ หากวิธีนี้ไม่ได้ผลปัญหากับอีกครึ่งหนึ่งของคุณ


ฉันมีปัญหาเดียวกันกับ supertab
harithski

คุณติดตามดูซูเปอร์ซับได้อย่างไร นั่นจะเป็นข้อมูลที่เป็นประโยชน์จริงๆ
Justin Force

1

อีกทางเลือกหนึ่งคือการใช้nanoโปรแกรมแก้ไข

$ whereis nano
$ git config --global core.editor path/to/nano

แก้ไขมัน


1

ผมพยายามที่จะกระทำเป็นสควอชที่แสดงที่นี่https://www.youtube.com/watch?v=V5KrD7CmO4o โปรแกรมแก้ไข git ของฉัน (notepad ++) เปิดขึ้นในขั้นตอนการรีบูต แต่ในขั้นตอนการส่งข้อความยอมรับฉันเห็นปัญหา "ไม่สามารถเรียกใช้โปรแกรมแก้ไข" อาจเกิดขึ้นเนื่องจากการตั้งค่าโปรแกรมแก้ไข git ผิดและเพราะฉันติดตั้งแผ่นจดบันทึก ++ ในตำแหน่งที่ไม่ได้มาตรฐานในระบบ windows ของฉัน นั่นคือ 'การกำหนดค่าคอมไพล์ core.editor' notepad++ -multilnst- nosessionให้ฉัน

ในการแก้ไขปัญหาให้ระบุเส้นทางแบบเต็มดังนี้:

git config --global core.editor "'C:\CustomFolder\NPP\notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

อ้างอิง: https://www.youtube.com/watch?v=YLxdkcT6H4g


0

คุณแน่ใจหรือว่า / usr / bin / vim เป็น 1.7.3? ฉันมีปัญหาเดียวกันเพราะฉันติดตั้งปลั๊กอินสำรองซึ่งรองรับเฉพาะใน 1.7.3 และด้วยเหตุผลบางอย่าง / usr / bin / vim ทั้งหมดถูกลดระดับอย่างกะทันหันเป็น 1.7.2 อาจเป็นเพราะการอัปเดตที่สำคัญของ XCode ..


0

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


0

ผิดปกติพอลองใช้งานได้อีกครั้งสำหรับฉัน

ไม่ได้ตั้งค่าตัวแปร core.editor และ $ EDITOR ของฉัน


0

สำหรับฉันการใช้ windows: ปิดเทอร์มินัลปัจจุบันและเปิดอีกอัน (win + R พิมพ์ 'cmd' จากนั้น 'enter') จากนั้นก็ใช้งานได้ทันที


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