我想到一个主意<C-a>
在 Vim 的正常模式下,不仅应该增加数字,还应该切换布尔值。如果你考虑的话这是有道理的true
and false
作为以 2 为模的整数。
So, I 下载了一个优秀的脚本 http://www.vim.org/scripts/script.php?script_id=1676完成繁琐的工作并为<C-a>
:
fun! NewCA()
let cw = tolower(expand("<cword>"))
if cw == "true" || cw == "false"
ToggleWord
else
" run the built-in <C-a>
execute "normal \<C-a>"
endif
endfun
command! NewCA :call NewCA()
nnoremap <C-a> :NewCA<cr>
但当事情发生时,nnoremap
并没有去检查内部函数。我得到递归行为if我的光标不在单词上true
or false
.
在这一点上,我发誓,为什么 Bram 不从 Emacs 中选择一个好主意,即一切都应该是可自由设置的函数和键绑定。然后我就可以检查该功能<C-a>
并在该函数中调用它。但是不,我找不到这样的功能,而且execute "normal foo"
短语似乎是 Vim 惯用语。
关于我如何做的任何建议<C-a>
工作使得
- 当光标位于单词上方时切换布尔值
true
or false
- 回退到内置
<C-a>
否则的行为
帮助表示感谢!
change
execute "normal \<C-a>"
to:
normal! ^A
你可以通过运行得到^A
<C-v><C-a>
in normal mode
这 ”!”在正常结束时说“使用默认映射”
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)