1

Vim では、 <cr> は、ショートカットをマッピングするときに「ここで ENTER キーを押します」のようなことを言うのに慣習的に使用されていました。Vim 7.3 でもそのように動作していました。Vim 7.4 では、少なくとも私の Linux でコンパイルされたバージョン (ソースの変更なし) と、バニラから Windows インストーラーのバージョン (もちろん、これは Windows で実行されます) では、もう動作しません。それはプラグインと私自身のコードの地獄を壊します。

この問題をグーグルで検索しましたが、見つかりません。私は何が欠けていますか?

「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"

質問: <cr> が Vim 7.4 で機能しないのはなぜですか?

4

1 に答える 1

3

<CR>Vim 7.4 で完全に動作します。それはあなたのセットアップの何かです。

一部のプラグインが<CR>別のものにマップされている危険があります。

とにかく、一般的かつ正確には、このような不必要な再マッピングがあるため、:mapコマンドの非再マッピング バリアントを常に使用することをお勧めします。これで問題が解決するはずです。

:nnoremap r iHola<CR><ESC>

@romainl のコメントを読んだ後、キー表記を無効にするcpo-flag'cpoptions'に飛び込んで見つけました。したがって、リセットすることで、少なくともこの可能性を排除する必要があります。<'cpo'

:set cpo&vim
于 2013-10-20T10:52:40.833 に答える