繁体   English   中英

Vim自动命令插入文本不起作用

[英]Vim autocommand to insert text not working

UPDATE

原来我使用的是错误的本地领导...在我的vimrc中它被定义为“ \\\\”,所以我输入了\\\\ dc,但是vim却映射了\\ dc ...


我正在尝试编写一个自动命令,该命令将根据文件类型创建普通模式映射。 执行时,映射将插入一个简单的print语句,该语句根据语言而有所不同(对调试有用)。

这是我目前拥有的:

augroup debugging
  autocmd!
  autocmd FileType c nnoremap <buffer> <localleader>db Oprintf("Debugging");<esc>
augroup END 

我的本地领导者设置为“ \\\\”( let maplocalleader = "\\\\" )。 但是,当我打开C文件( .c )时未设置映射。

文件类型在我的vimrc处于on

我的autocmd写得不好吗?

您可以检查通过使用的实际mapleader

:nmap <localleader>db

它应该列出您的映射(在:setl filetype?产生c的缓冲区中)。

还要注意,由于Vim的字符串表达式规则,字符串"\\\\"解析为单个反斜杠 要获得双反斜杠,请使用单引号'\\\\'或双反斜杠"\\\\\\\\"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM