在Vim中,< cr>在映射快捷方式时,通常会使用“我们按ENTER键”这样的内容。它曾经以这种方式工作,甚至在Vim 7.3中。在Vim 7.4中,至少在我的Linux编译版本(没有源代码更改)和vanilla-from-the-Windows安装程序版本(当然在Windows中运行这个版本)中,它不再起作用了。这破坏了插件和我自己的代码。
我一直googling这个问题,但我找不到它。我错过了什么?
以下是“echo& compatible”的结果:
0
以下是查看问题的简便方法:
nmap r iHola<CR><ESC>
然后按“r”,一个不错的
Hola<CR><ESC>
插入文件中。在Vim 7.3中,只能在文件中插入“Hola”和新行。
以下是“:version”的输出
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Oct 19 2013 17:58:08)
Huge version with GTK2 GUI. Features included (+) or not (-):
+arabic +cryptv +file_in_path +linebreak +mouse_sgr +python +tag_binary +viminfo
+autocmd +cscope +find_in_path +lispindent -mouse_sysmouse -python3 +tag_old_static +vreplace
+balloon_eval +cursorbind +float +listcmds +mouse_urxvt +quickfix -tag_any_white +wildignore
+browse +cursorshape +folding +localmap +mouse_xterm +reltime -tcl +wildmenu
++builtin_terms +dialog_con_gui -footer +lua +multi_byte +rightleft +terminfo +windows
+byte_offset +diff +fork() +menu +multi_lang +ruby +termresponse +writebackup
+cindent +digraphs +gettext +mksession -mzscheme +scrollbind +textobjects +X11
+clientserver +dnd -hangul_input +modify_fname +netbeans_intg +signs +title -xfontset
+clipboard -ebcdic +iconv +mouse +path_extra +smartindent +toolbar +xim
+cmdline_compl +emacs_tags +insert_expand +mouseshape -perl -sniff +user_commands +xsmp_interact
+cmdline_hist +eval +jumplist +mouse_dec +persistent_undo +startuptime +vertsplit +xterm_clipboard
+cmdline_info +ex_extra +keymap -mouse_gpm +postscript +statusline +virtualedit -xterm_save
+comments +extra_search +langmap -mouse_jsbterm +printer -sun_workshop +visual
+conceal +farsi +libcall +mouse_netterm +profile +syntax +visualextra
system vimrc file: "$VIM/vimrc"
user vimrc file: "$HOME/.vimrc"
2nd user vimrc file: "~/.vim/vimrc"
user exrc file: "$HOME/.exrc"
system gvimrc file: "$VIM/gvimrc"
user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/gvimrc"
system menu file: "$VIMRUNTIME/menu.vim"
fall-back for $VIM: "/usr/share/vim"
问题:为什么&lt; cr&gt;在Vim 7.4中不起作用?
答案 0 :(得分:3)
<CR>
在Vim 7.4中完美运行。这是您设置中的内容。
我会冒一些插件将<CR>
映射到其他内容的危险。
无论如何,一般而且正是因为这里的虚假不需要的重映射,所以建议始终使用:map
命令的非重映射变体。这应该可以解决你的问题。
:nnoremap r iHola<CR><ESC>
在阅读@ romainl的评论后,我潜入'cpoptions'
并找到了禁用密钥表示法的<
cpo-flag。因此,重置'cpo'
至少应该消除这种可能性。
:set cpo&vim