Windows 7 x64
无法理解我的错误。
$ git config --global core.editor vim
$ git commit
.gitconfig
路径:editor = vim
E325:注意
错误:编辑器出现问题' vim'。请使用-m或-F选项提供消息。
$ git config --global core.editor "'vim' -w"
$ git commit
.gitconfig
路径:editor = 'vim' -w
当 Vim 打开时,它已空,但应包含$ 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
答案 0 :(得分:6)
我今天遇到了这个错误。我在这里发布我的解决方案,因为它可以帮助其他人。首先,回顾一下如何让我陷入这种错误的困境(TL; DR?跳转到“解决方案”部分)。
我将VIM设置为我的默认编辑器并编写了提交消息。像往常一样,我忘了使用Shift + Insert粘贴一行文本,而是使用Ctrl + V.我的脑子仍处于Windows模式,我试图通过按Ctrl + Z来“撤消”我的错误(这太自然了)。在:q!
之后的一阵ESC压力和尝试,我失去了作用。 VIM不会回应任何事情。我不得不使用Windows任务管理器终止进程。从那时起,每次Git启动VIM(commit
消息,rebase -i
等)时,我都会一直收到OP的错误。
果然,我在受影响的repo的.git目录中找到了一个流氓交换文件,并且有意义的是,它是针对COMMIT_EDITMSG文件的。删除此交换文件(* .swp)可以解决问题。
答案 1 :(得分:0)
Idk是什么,但我重新加载存储库和错误消失了,谢谢大家的建议。