- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个问题显然远远超出了我对 Vim 的理解。这两个键绑定(bind)仅相差两个字符,否则完全相同。
" Move viewport up/down.
noremap <C-d> :exe "normal! " . (winheight(".") / 4) . "\<C-e>"<CR>
noremap <C-u> :exe "normal! " . (winheight(".") / 4) . "\<C-y>"<CR>
然而,底部的 ( <C-u>
) 按预期完美工作,而顶部的导致此错误:
E114: Missing quote: "\" E15: Invalid expression: "normal! " . (winheight(".") / 4) . "\"
我已经重新启动了 Vim 两次,并三重确保只有这些命令绑定(bind)到它们的键上。我也尝试切换它们,以防由于某种原因相关,但是 <C-d>
命令仍然崩溃。
那么沃尔多呢?
gvim.exe --version
的输出:
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Aug 16 2010 10:31:31)MS-Windows 64-bit GUI version with OLE supportCompiled by george@reilly.orgHuge version with GUI. Features included (+) or not (-):+arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset +cindent +clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments +conceal +cryptv +cscope +cursorbind +cursorshape +dialog_con_gui +diff +digraphs -dnd -ebcdic +emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path +find_in_path +float +folding -footer +gettext/dyn -hangul_input +iconv/dyn +insert_expand +jumplist +keymap +langmap +libcall +linebreak +lispindent +listcmds +localmap -lua +menu +mksession +modify_fname +mouse +mouseshape +multi_byte_ime/dyn +multi_lang -mzscheme +netbeans_intg +ole -osfiletype +path_extra -perl +persistent_undo +postscript +printer +profile +python/dyn -python3 +quickfix +reltime +rightleft -ruby +scrollbind +signs +smartindent -sniff +startuptime +statusline -sun_workshop +syntax +tag_binary +tag_old_static -tag_any_white -tcl -tgetent -termresponse +textobjects +title +toolbar +user_commands +vertsplit +virtualedit +visual +visualextra +viminfo +vreplace +wildignore +wildmenu +windows +writebackup -xfontset -xim -xterm_save -xpm_w32 system vimrc file: "$VIM\vimrc" user vimrc file: "$HOME\_vimrc" 2nd user vimrc file: "$VIM\_vimrc" user exrc file: "$HOME\_exrc" 2nd user exrc file: "$VIM\_exrc" system gvimrc file: "$VIM\gvimrc" user gvimrc file: "$HOME\_gvimrc"2nd user gvimrc file: "$VIM\_gvimrc" system menu file: "$VIMRUNTIME\menu.vim"Compilation: cl -c /W3 /nologo -I. -Iproto -DHAVE_PATHDEF -DWIN32 -DFEAT_CSCOPE -DFEAT_NETBEANS_INTG -DWINVER=0x0400 -D_WIN32_WINNT=0x0400 /Fo.\ObjGOY/ /Ox /GL -DNDEBUG /Zl /MT -DFEAT_OLE -DFEAT_MBYTE_IME -DDYNAMIC_IME -DFEAT_MBYTE -DFEAT_GUI_W32 -DDYNAMIC_ICONV -DDYNAMIC_GETTEXT -DFEAT_PYTHON -DDYNAMIC_PYTHON -DDYNAMIC_PYTHON_DLL=\"python27.dll\" -DMSWINPS -DFEAT_HUGE /Fd.\ObjGOY/ /ZiLinking: link /RELEASE /nologo /subsystem:windows /LTCG:STATUS oldnames.lib kernel32.lib advapi32.lib shell32.lib gdi32.lib comdlg32.lib ole32.lib uuid.lib /machine:AMD64 /nodefaultlib gdi32.lib version.lib winspool.lib comctl32.lib advapi32.lib shell32.lib /machine:AMD64 /nodefaultlib libcmt.lib oleaut32.lib user32.lib
我从官方 Vim 下载页面上的链接下载了 Vim:
最佳答案
noremap
解释 <C-e>
和 <C-y>
之前 exe
确实如此 exe
然后输入控制序列,这些序列不一定被正确解释。一种可能的解决方法是定义命令然后映射到它们:
com! ShiftDown exe "norm!" winheight(".")/4 . "<C-e>"
com! ShiftUp exe "norm!" winheight(".")/4 . "<C-y>"
noremap <C-d> :ShiftDown<CR>
noremap <C-u> :ShiftUp<CR>
也可以使用 <C-v>
直接映射命令<C-e>
和 <C-v>
<C-y>
插入这些字符:
noremap <C-d> :exe "norm!" winheight(".")/4 . "<C-v><C-e>"<CR>
noremap <C-u> :exe "norm!" winheight(".")/4 . "<C-v><C-y>"<CR>
或者,<LT>
可用于插入文字 <
:
noremap <C-d> :exe "norm!" winheight(".")/4 . "<Bslash><LT>C-e>"<CR>
noremap <C-u> :exe "norm!" winheight(".")/4 . "<Bslash><LT>C-y>"<CR>
注意虽然是文字 \
可能有用,:help map
建议使用 <Bslash>
为了安全。
关于vim - 为什么这两个键绑定(bind)中的一个在它们几乎相同时会崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14350299/
我创建了一个分支来开发新功能。由于这个新功能完全是作为一个新项目开发的,唯一可能的冲突来源是解决方案文件。 随着功能的开发,主分支更新了几次。当我完成开发和测试时,我做了: git checkout
我是一名优秀的程序员,十分优秀!