![](/img/trans.png)
[英]How to use Vim's normal mode CTRL-A number increment in visual block mode?
[英]Synonym for Vim's normal mode CTRL-A?
我发现在Vim正常模式下<Ca>
不仅应该增加数字而且应该切换布尔值。 如果你认为true
和false
是整数模2,这是有道理的。
所以,我下载了一个优秀的脚本来做毛茸茸的工作并为<Ca>
写了一个新的定义:
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
并不能检查内部函数。 如果我的光标不在单词true
或false
上,我会得到递归行为。
在这一点上,我发誓,为什么Bram没有从Emacs中选择一个好主意,一切都应该是功能和键绑定可以自由选择。 然后我就可以检查<Ca>
的函数并在该函数中调用它。 但不,我找不到这样的功能, execute "normal foo"
短语似乎是Vim成语。
关于如何使<Ca>
工作的任何建议
true
或false
时,切换布尔值 <Ca>
行为 帮助赞赏!
更改
execute "normal \<C-a>"至:
<C-v><C-a>
你可以通过跑步来获得^ A.
<CV> <CA>在正常模式下
“!” 在正常结束时说“使用默认映射”
来自:help :normal
:norm[al][!] {commands}
...
If the [!] is given, mappings will not be used.
....
您也可以直接定义命令
nnoremap <C-a> :call NewCA()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.