我在Debian,Win Vista和WinXP下使用Vim(后两者使用Cygwin)。
为了更容易地处理标签,我映射<C-Left>
和<C-Right>
到:tab(prev|next)
。这种映射就像Debian机器上的魅力一样。
但是,在Windows机器上,<C-Left>
按照我的意思,按下删除5行,并用光标位置进行<C-Right>
插入,同时执行此操作,并另外进入插入模式。
问题:简而言之,我如何才能找到,为什么Vim表现得像?有没有办法回溯活动命令和击键?可能有一个插件的罪魁祸首?(我没有安装一个,也许是Cygwin发行版的默认包含......)如果是这样,我怎么能找到它?
编辑1:好吧,好像,我得到了第一条跟踪:终端发送<C-Left>
' ^[[1;5D
',右边' ^[[1;5C
'(用<C-V><C-Left>
诀窍评估)。如果vim按字面解释并丢弃第一个字符,它就解释了这种奇怪的行为。任何想法,我如何改变这个键映射?
附加诊断:
无论任何现有
~/.vimrc
文件(因此与我上面提到的映射无关)都会发生此行为,并且不会继承某些文件/etc/vim/vimrc
,因为这在默认的Cygwin安装中不存在。:verbose map
没有任何新的见解。根据.vimrc文件的存在,不会出现任何内容或我提到的映射:help <C-Left>
建议,默认是一个简单的光标移动,显然不是这种情况。在Cygwin下的Vim版本:
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Feb 11 2010 17:36:58) Included patches: 1-264 Compiled by http://cygwin.com/ Huge version without GUI. Features included (+) or not (-): +arabic +autocmd -balloon_eval -browse ++builtin_terms +byte_offset +cindent -clientserver -clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments +cryptv +cscope +cursorshape +dialog_con +diff +digraphs -dnd -ebcdic +emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path +find_in_path +float +folding -footer +fork() -gettext -hangul_input +iconv +insert_expand +jumplist +keymap +langmap +libcall +linebreak +lispindent +listcmds +localmap +menu +mksession +modify_fname +mouse -mouseshape +mouse_dec -mouse_gpm -mouse_jsbterm +mouse_netterm -mouse_sysmouse +mouse_xterm +multi_byte +multi_lang -mzscheme -netbeans_intg -osfiletype +path_extra -perl +postscript +printer +profile -python +quickfix +reltime +rightleft -ruby +scrollbind +signs +smartindent -sniff +statusline -sun_workshop +syntax +tag_binary +tag_old_static -tag_any_white -tcl +terminfo +termresponse +textobjects +title -toolbar +user_commands +vertsplit +virtualedit +visual +visualextra +viminfo +vreplace +wildignore +wildmenu +windows +writebackup -X11 -xfontset -xim -xsmp -xterm_clipboard -xterm_save system vimrc file: "$VIM/vimrc" user vimrc file: "$HOME/.vimrc" user exrc file: "$HOME/.exrc" fall-back for $VIM: "/usr/share/vim" Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -g -O2 -D_FORTIFY_SOURCE=1 Linking: gcc -L/usr/local/lib -o vim.exe -lm -lncurses -liconv
<C-Left>
仍然发送^[[1,5C
,但以某种方式转换为正确的vim语句。