Saya tidak sering harus mengubah beberapa pesan komit, tetapi itu terjadi sekali atau dua kali dan saya tidak pernah ingat melihatnya. Saya harap ada orang lain. Ketika saya git rebase -i HEAD~7
, daftar yang diharapkan terbuka di vi persis seperti yang diharapkan. Saya mengubah pick
nilai ke edit
tempat yang sesuai dan kemudian :wq
.
Tidak dapat menjalankan editor
The core.editor
Pengaturan di global saya .gitconfig
adalah vi
(saya juga sudah berubah ke vim
dalam sebuah langkah liar putus asa). Saya mencoba menggunakan mate
, tetapi itu bahkan tidak membuka daftar awal dengan benar sehingga saya mengubahnya kembali.
Saya menggunakan v1.7.3 dan akan menerima saran.
git_editor "$TODO" || die_abort "Could not execute editor"
. Karena Anda mengatakan editor benar-benar muncul, itu berarti mengembalikan kode keluar yang bukan nol. Bisakah Anda meniru perilaku yang menggunakannya secara normal pada command-line?git config --global core.editor "/usr/local/bin/vim"
memperbaikinya untuk saya.Jawaban:
Kemarin hanyalah salah satu dari hari-hari itu. Pada seekor lark, saya memutuskan untuk menetapkan path lengkap ke vi (eg
/usr/bin/vi
) daripada hanya executable. Sekarang semuanya berfungsi. Saya harus mengakui bahwa saya tidak mengerti karenavi
ini dapat dieksekusi dengan sempurna sendiri ($EDITOR
variabel env saya juga diatur kevi
), tapi itu berfungsi dan karma teknis saya belum begitu bagus belakangan ini jadi mungkin saya tidak seharusnya mempertanyakan para dewa akan ...sumber
git config --global core.editor "/usr/bin/vim"
.git config --global color.editor "/usr/local/bin/vim"
tidak bekerja untuk saya :), terima kasihPerintah berikut
memperbaikinya.
[sunting]
Sekarang saya melihat bahwa seseorang sudah mempostingnya di komentar. Semoga masih bermanfaat untuk beberapa orang buta seperti saya.
sumber
Berbeda dengan jawaban lain di sini sejauh ini, bagi saya menggunakan path absolut ke vi, dan pengaturan
core.editor
konfigurasi git , tidak cukup untuk menyelesaikan masalah. (Itu sudah ada di tempat.)Dalam situasi saya, masalahnya diselesaikan dengan menambahkan
-f
bendera ke perintah vi:Setelah
-f
opsi ini di tempat, saya bisa menggunakangit rebase -i
, dan ketika saya menyimpan-dan-keluar dari daftar komit, rebase berlangsung sebagaimana mestinya daripada memberikan kesalahan "tidak dapat menjalankan editor".The Halaman vim pria mengatakan berkenaan dengan pilihan
-f
,Yah saya tidak menggunakan versi GUI, yang saya tahu. Saya menjalankan
git
di baris perintah bash di jendela terminal pada masOS Sierra 10.12.6. Tapi karenagit rebase -i
menunggu sesi edit selesai, saya kira itu sebabnya-f
opsi diperlukan di sini. Mungkin vim (tanpa-f
) mencoba untuk memotong / melepaskan shell untuk beberapa alasan saya belum bisa mengetahuinya.sumber
Saya punya masalah ini, dan itu disebabkan oleh beberapa bagian dari plugin vcscommand untuk vim. Memulai vim dengan perintah-perintah ini menghasilkan kode keluar 1 ("kesalahan"):
vi
vim
Tetapi ini memberi saya kode keluar 0 ("sukses"):
/usr/bin/vi
/usr/bin/vim
vi -u NONE
vim -u NONE
Saya dapat melacaknya kembali ke plugin tertentu dengan menonaktifkan
~/.vimrc
dan file~/.vim
dengan mengubah nama mereka dan berjalanvi -c q ; echo $?
untuk menjalankan vim dengan cepat dan mencetak kode keluar.sumber
Bagi saya, itu masalah dengan .vimrc saya. Mengganti nama sementara file itu memperbaikinya. Diikuti dengan men-debug .vimrc saya. Ini sangat mirip dengan pengalaman ignu.
sumber
Jika Anda ingin untuk alasan apa pun menggunakan luhur Anda dapat melakukan sesuatu seperti berikut ini di file konfigurasi global Anda:
sumber
Butuh beberapa saat untuk melacak masalah saya ke salah satu plugin saya.
(khususnya, itu https://github.com/ervandew/supertab )
Saya kira itulah downside untuk memperbarui semua plugin saya secara otomatis.
Jadi saran terbaik, nonaktifkan setengah vimrc dan plugin Anda. Jika itu tidak membantu, masalahnya dengan separuh lainnya.
sumber
Pilihan lain adalah menggunakan
nano
editor.$ whereis nano
$ git config --global core.editor path/to/nano
Memperbaikinya.
sumber
Saya mencoba menekan komitmen seperti yang ditunjukkan di sini https://www.youtube.com/watch?v=V5KrD7CmO4o . Editor git saya (notepad ++) dibuka pada langkah rebasing. Tetapi, pada langkah amend commit, saya melihat masalah "Tidak dapat menjalankan editor". Itu mungkin terjadi karena pengaturan git editor salah dan juga karena saya menginstal notepad ++ di lokasi yang tidak standar pada sistem windows saya. Yaitu, 'git config core.editor' memberi saya
notepad++ -multilnst- nosession
.Untuk memperbaiki masalah ini, berikan path lengkap seperti ini:
Rujuk: https://www.youtube.com/watch?v=YLxdkcT6H4g
sumber
Apakah Anda yakin bahwa / usr / bin / vim ada di 1.7.3? Saya memiliki masalah yang sama karena saya menginstal plugin cadangan yang hanya didukung pada 1.7.3 dan untuk beberapa alasan / usr / bin / vim tiba-tiba diturunkan menjadi 1.7.2, mungkin karena pembaruan utama XCode. ..
sumber
Saya memiliki masalah ini juga ketika saya sudah memiliki vim terbuka untuk rebase di terminal lain. Saya telah memulai rebase, terganggu, dan ketika saya kembali saya mencoba lagi dari awal di terminal lain, tidak menyadari saya berada di tengah rebase yang sama di tempat lain. Hanya menyelesaikan sesi rebase vim di terminal lain bekerja dengan baik.
sumber
Anehnya, hanya mencoba lagi berhasil bagi saya.
Variabel core.editor dan $ EDITOR saya tidak disetel.
sumber
Bagi saya, menggunakan windows: tutup terminal saat ini, dan buka yang lain (win + R, ketik 'cmd', lalu 'enter'), lalu tiba-tiba berfungsi.
sumber
Solusi VS Code:
git config --global core.editor "/Applications/Visual\ Studio\ Code.app/Contents/MacOS/Electron"
sumber