Editör yürütülemedi


153

Sıklıkla birden fazla taahhüt mesajını değiştirmek zorunda değilim, ancak bir veya iki kez oldu ve bunu gördüğümü hatırlamıyorum. Umarım başka biri vardır. Ben git rebase -i HEAD~7, beklenen liste vi beklendiği gibi açılır. pickDeğerleri edituygun olana değiştiriyorum ve sonra :wq.

Editör yürütülemedi

core.editorBenim küresel ayarında .gitconfigolduğu vi(Ben de bunu değiştirdik vimbir çılgınca umutsuz hamlede). Kullanmayı denedim mate, ancak bu ilk listeyi düzgün bir şekilde açmadı, bu yüzden geri değiştirdim.

V1.7.3 kullanıyorum ve herhangi bir öneri hoş geldiniz.


1
Kaynak içerir git_editor "$TODO" || die_abort "Could not execute editor". Editörün gerçekten geldiğini söylediğiniz için, bu sıfır dışında bir çıkış kodu döndürüyor demektir. Bu davranışı normalde komut satırında kullanarak çoğaltabilir misiniz?
Cascabel

Benim için garip olan şey vi'nin taahhütlerin listesini görüntülemek için başlatmasıdır, ancak kaydettiğimde ve kapattığımda her şey ölür. Sihirli bir şekilde çalışmaya başlamak için yaptığım değişiklik için cevabımı görün.
Rob Wilkerson

Hangi işletim sistemini kullanıyordunuz? OSX Lion'u çalıştırırken aynı sorunu yaşadım ve cevabınız düzeltildi. +1
Adam Lewis

@AdamLewis - Şimdi emin olamıyorum, ama muhtemelen 10.6 veya .7 tarih verildi. OSX, kesinlikle.
Rob Wilkerson

5
Yeni bir vim yüklemek için homebrew kullandığımda bu sorunu yarattığımı düşünüyorum. Ayarı git config --global core.editor "/usr/local/bin/vim"benim için düzeltti.
mmell

Yanıtlar:


185

Dün o günlerden sadece biriydi. Bir toygarda, /usr/bin/visadece yürütülebilir dosya yerine vi (örneğin ) için tam yol ayarlamaya karar verdim . Şimdi her şey çalışıyor. İtiraf etmeliyim ki vikendi başına mükemmel bir şekilde çalıştırılabilir olduğu için ( $EDITORenv değişkenim de ayarlandı vi), ancak çalışıyor ve teknik karım son zamanlarda çok büyük değildi, bu yüzden belki de sorgulamamalıyım tanrılar ...


6
/ Usr / bin / vi için tam yolu nerede belirlediniz?
Amala

131
Benim küresel yapılandırma dosyasında koydu: git config --global core.editor "/usr/bin/vim".
Rob Wilkerson

Aynı sorunu yaşadım. Nedenini anlayamıyorum, core.editor ayarım / usr / bin / vim yerine / user / bin / vim olarak ayarlandı
jonnybot 8:14

Aynı sorun vardı ama Yüce Metin ile - tam yol sonunda işleri çözdü. Hangisi daha önce gayet iyi çalıştığından eminim ...: - \
Hal

git config --global color.editor "/usr/local/bin/vim"benim için çalıştı :), teşekkürler
przbadu

159

Aşağıdaki komut

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

düzeltir.

[Düzenle]

Şimdi görüyorum ki birisi zaten yorumlarda yayınladı. Umarım hala benim gibi kör insanlar için yararlıdır.


6
Örneğin Windows için (tek tırnak eksik, benim sorunumdu): git config --global core.editor "'C: \ Program Files (x86) \ Vim \ vim74 \ vim.exe'"
chrjs

1
Evet, bu ^. Bunu açıklığa kavuşturmak için, yürütülebilir yolun etrafında tek tırnak içine çift tırnak kullanın.
Yakup

Tıkır tıkır çalışıyor!
R11G

7

Şimdiye kadar buradaki diğer cevaplardan farklı olarak, vi için mutlak yolu kullanmak ve git core.editorconfig'i ayarlamak , sorunu çözmek için yeterli değildi. (Bunlar zaten yerinde.)

Benim durumumda , vi komutuna bayrak ekleyerek-f sorun çözüldü :

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

Bu -fseçenek git rebase -iuygulandıktan sonra kullanabilirim ve kaydetme ve kaydetme listesinden çıktığımda, rebase "editör çalıştırılamadı" hatası vermek yerine olması gerektiği gibi ilerler.

Vim adam sayfası seçeneğine ilişkin diyor -f,

GUI sürümü için Vim, başlatıldığı kabuktan çatallanmayacak ve ayrılmayacaktır. ... Bu seçenek, Vim düzenleme oturumunun bitmesini bekleyecek bir program tarafından yürütüldüğünde kullanılmalıdır (örn. Posta).

Biliyorum bir GUI sürümü kullanmıyorum. Koşuyorum gitMasos Sierra 10.12.6 bir terminal penceresinde bash komut satırına. Ancak git rebase -idüzenleme oturumunun bitmesini beklediğinden, bu yüzden -fburada seçeneğin gerekli olduğunu düşünüyorum. Belki de vim (olmadan -f) bir sebepten dolayı anlayamadım.


6

Bu sorun vardı ve vim için vcscommand eklentisinin bir kısmı neden oldu. Vim komutunun herhangi biriyle başlatılması, çıkış kodu 1 ile sonuçlandı ("hata"):

  • vi
  • vim

Ama bunlar bana çıkış kodu 0'ı verdi ("başarı"):

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

~/.vimrcDosyaları ~/.vimyeniden adlandırarak ve vi -c q ; echo $?hızlı bir şekilde vim çalıştırmak ve çıkış kodunu yazdırmak için çalıştırarak ve dosyaları devre dışı bırakarak belirli bir eklentiye geri izleyebildim .


1
Aynı sorunu yaşadım ve vim için tam yolu ayarlama çalıştı: git config --global core.editor / usr / bin / vim
James

Bir başka olası suçlu , Mac OS X'teki patojen eklentisi gibi görünüyor .
sschuberth

3

Benim için .vimrc ile ilgili bir sorun vardı. Bu dosyayı geçici olarak yeniden adlandırmak sorunu düzeltti. Ardından benim .vimrc hata ayıklama. Bu, ignu'nun deneyimine çok benzer.


Evet, .vimrc dosyamda sessiz renklercheme macvim vardı, renklercheme varsa bunu ayarlamak ve eğer olmadıysa beni rahatsız etmemek (böylece komut satırı vim işe yarayacaktı). Öte yandan, bu başarısız olduğunda çıkış durumunu 1 ile değiştirdi, sessiz olsa bile !.
Max

3

Herhangi bir nedenle sublime kullanmak isterseniz, global yapılandırma dosyanızda aşağıdakine benzer bir şey yapabilirsiniz:

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

1

Sorunumu eklentilerimden biriyle izlemem biraz zaman aldı.

(özellikle, https://github.com/ervandew/supertab idi )

Sanırım tüm eklentilerimi otomatik olarak güncellemenin dezavantajı bu.

En iyi tavsiye, vimrc ve eklentilerinizin yarısını devre dışı bırakın. Bu işe yaramazsa, sorun diğer yarısındadır.


Supertab ile aynı problemim var.
harithski

Supertab'a nasıl takip ettiniz? Bu gerçekten yararlı bir bilgi olurdu.
Justin Force

1

Başka bir seçenek de nanoeditör kullanmaktır .

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

Düzeltir.


1

Burada gösterildiği gibi taahhütleri ezmeye çalışıyordum https://www.youtube.com/watch?v=V5KrD7CmO4o . Git düzenleyicim (notepad ++) yeniden baslatma adımında açıldı. Ancak, değişiklik taahhüdü mesajı adımında, "Editör yürütülemedi" sorununu gördüm. Muhtemelen git editörü ayarları yanlış olduğu için ve ayrıca notepad ++ 'ı Windows sistemimde standart olmayan bir konuma kurduğum için oldu. Yani, 'git config core.editor' bana verdinotepad++ -multilnst- nosession .

Sorunu çözmek için aşağıdaki gibi tam yol belirtin:

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

Bakınız: https://www.youtube.com/watch?v=YLxdkcT6H4g


0

/ Usr / bin / vim dosyasının 1.7.3 sürümünde olduğundan emin misiniz? Sadece 1.7.3'te desteklenen bir yedekleme eklentisi kurduğum ve bir nedenden dolayı / usr / bin / vim, belki de XCode'un büyük bir güncellemesi nedeniyle aniden 1.7.2'ye indirildiğinden aynı sorunu yaşadım. ..


0

Zaten başka bir terminalde bir rebase için vim açıkken de bu sorunu yaşadım. Rebase'i başlattım, kesintiye uğradım ve geri döndüğümde diğer terminaldeki sıfırdan tekrar denedim, başka bir yerde aynı rebase'in ortasında olduğumu fark etmedim. Sadece diğer terminalde vim rebase oturumunu bitirmek iyi çalıştı.


0

İşin garibi, sadece denemek yine benim için çalıştı.

Core.editor ve $ EDITOR değişkenlerim ayarlanmadı.


0

Benim için pencereleri kullanarak: mevcut terminali kapatın ve başka bir tane açın (win + R, 'cmd' yazın, sonra 'enter'), sonra aniden çalışır.


0

VS Kod çözümü:

git config --global core.editor "/Applications/Visual\ Studio\ Code.app/Contents/MacOS/Electron"

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.