Windows 7 x64
不明白我的错误。
$ git config --global core.editor vim $ git commit
.gitconfig
path: editor = vim
E325:注意
错误:编辑器“vim”出现问题。 请使用-m或-F选项提供消息。
$ git config --global core.editor "'vim' -w" $ git commit
.gitconfig
path: editor = 'vim' -w
.gitconfig
editor = 'vim' -w
当Vim有opend时,它是空的,但应该包含像$ git diff
东西
$ git config --global --unset core.editor $ git commit
E325注意
由于空提交消息而中止提交。
我以为默认使用Vim 。
$ EDITOR=vim $ git commit
E325注意
由于空提交消息而中止提交。
$ vim --version
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Jun 1 2017 21:25:47) Заплатки: 1-606 Скомпилирован <alexpux@gmail.com> Огромная версия без графического интерфейса. Включённые (+) и отключённые (-) особенности: +acl +file_in_path +mouse_sgr +tag_old_static +arabic +find_in_path -mouse_sysmouse -tag_any_white +autocmd +float +mouse_urxvt -tcl -balloon_eval +folding +mouse_xterm +termguicolors -browse -footer +multi_byte +terminfo ++builtin_terms +fork() +multi_lang +termresponse +byte_offset +gettext -mzscheme +textobjects +channel -hangul_input +netbeans_intg +timers +cindent +iconv +num64 +title -clientserver +insert_expand +packages -toolbar +clipboard +job +path_extra +user_commands +cmdline_compl +jumplist +perl/dyn +vertsplit +cmdline_hist +keymap +persistent_undo +virtualedit +cmdline_info +lambda +postscript +visual +comments +langmap +printer +visualextra +conceal +libcall +profile +viminfo +cryptv +linebreak +python/dyn +vreplace +cscope +lispindent +python3/dyn +wildignore +cursorbind +listcmds +quickfix +wildmenu +cursorshape +localmap +reltime +windows +dialog_con -lua +rightleft +writebackup +diff +menu +ruby/dyn -X11 +digraphs +mksession +scrollbind -xfontset -dnd +modify_fname +signs -xim -ebcdic +mouse +smartindent -xpm +emacs_tags -mouseshape +startuptime -xsmp +eval +mouse_dec +statusline -xterm_clipboard +ex_extra -mouse_gpm -sun_workshop -xterm_save +extra_search -mouse_jsbterm +syntax +farsi +mouse_netterm +tag_binary общесистемный файл vimrc: "/etc/vimrc" пользовательский файл vimrc: "$HOME/.vimrc" второй пользовательский файл vimrc: "~/.vim/vimrc" пользовательский файл exrc: "$HOME/.exrc" defaults file: "$VIMRUNTIME/defaults.vim" значение $VIM по умолчанию: "/etc" значение $VIMRUNTIME по умолчанию: "/usr/share/vim/vim80 " Параметры компиляции: gcc -c -I. -Iproto -DHAVE_CONFIG_H -D_FORTIFY_SOURCE=2 -I/usr/include/ncursesw -march=x86-64 -mtune=generic -O2 -pipe -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 Сборка: gcc -L. -pipe -fstack-protector -pipe -Wl, --as-needed -o vim.exe -lm -lncursesw -liconv -lacl -lintl -Wl, --enable-auto-import -Wl,--export-all-symbols -Wl, --enable-auto-image-base -fstack-protector-strong -L/usr/lib/perl5/core_perl/CORE -lperl -lpthread -ldl -lcrypt
Idk是什么,但我重新加载存储库和错误消失了,谢谢大家的意见。
今天我遇到了这个错误。 我在这里发布我的解决方案,以帮助别人。 首先,介绍一下如何让自己处于获取这个错误的困境(TL; DR?跳到“解决方案”部分)。
我有VIM设置为我的默认编辑器,并正在写我的提交信息。 像往常一样,我忘了使用Shift + Insert来粘贴一行文本,而是使用Ctrl + V。 当我的头仍然在Windows模式下,我尝试按Ctrl + V来“撤销”我的错误(这太自然了)。 ESC的一阵阵按下并尝试:q!
后来,我没有受托了。 VIM不会回应任何事情。 我不得不杀死使用Windows任务管理器的过程。 从那时起,每次Git启动VIM( commit
消息, rebase -i
等)时,我都会收到OP的错误。
不过,我注意到,这个问题只发生在我把VIM弄糟的仓库里。 Git推出的VIM在其他软件仓库中运行良好。 用Google搜索,我想起了VIM的交换文件。
果然,我在受影响的repo的.git目录中发现了一个流氓交换文件,而且正确地说,它是针对COMMIT_EDITMSG文件的。 删除这个交换文件(* .swp)解决了这个问题。