No Debian 8, o vim estava abrindo arquivos como eu esperava, colocando o cursor na primeira coluna da primeira linha. Agora no Debian 9, provavelmente uma nova versão do vim, "lembra" a última posição do cursor de um nome de arquivo. Isso é extremamente irritante git commit
, porque coloca o cursor em algum lugar nos comentários, mesmo que o arquivo de mensagens de confirmação não tenha qualquer relação com o arquivo de mensagens de confirmação aberto anteriormente.
Como posso desativar esse "recurso", fazendo com que o vim coloque o cursor no início do arquivo quando eu abri-lo?
$ vim --version
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Feb 13 2017 00:56:16)
Included patches: 1-197, 322
Modified by [email protected]
Compiled by [email protected]
Huge version without GUI. Features included (+) or not (-):
+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 +vertsplit
+cmdline_hist +keymap +persistent_undo +virtualedit
+cmdline_info +lambda +postscript +visual
+comments +langmap +printer +visualextra
+conceal +libcall +profile +viminfo
+cryptv +linebreak -python +vreplace
+cscope +lispindent -python3 +wildignore
+cursorbind +listcmds +quickfix +wildmenu
+cursorshape +localmap +reltime +windows
+dialog_con -lua +rightleft +writebackup
+diff +menu -ruby -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
COMMIT_EDITMSG
?.vimrc
:autocmd BufReadPost COMMIT_EDITMSG setlocal noviminfo
.Parece que você tem um
BufReadPost
autocmd que está sendo definido pelo sistema vimrc. Verifique fazendo:verbose autocmd BufReadPost *
e procure por uma linha semelhante a esta:A linha imediatamente seguinte deve informar qual arquivo de inicialização definiu.
Se é o sistema vimrc, e se você tem o seu próprio
~/.vimrc
isso não deve estar acontecendo, a menos que o seu esteja explicitamente fornecendo o sistema vimrc.fonte
~/.vimrc
. Você tem um? Em caso afirmativo, ele está carregando explicitamente um sistema vimrc?~/.vimrc
de modo que ele carregue os padrões e, em seguida, apenas sobrescrevenoviminfo
para um determinado nome de arquivo (COMMIT_EDITMSG
)~/.vimrc
, excluindo aqueles que você não possui. Eventualmente, você provavelmente quer o seu próprio vimrc, então é melhor agora que depois.