将vim变量插入文本以注释快捷方式
发布时间:2020-12-16 01:45:30 所属栏目:安全 来源:网络整理
导读:我有一个简单的目标:映射Ctrl-C,一个命令,我不认为我曾经用来杀死 vim,在一行的开头自动插入正确的字符,根据该行注释掉该行文件的文件类型. 我想我可以使用自动命令识别文件类型,并在文件打开时将vim变量设置为正确的注释字符.所以我尝试了类似的东西: " C
我有一个简单的目标:映射Ctrl-C,一个命令,我不认为我曾经用来杀死
vim,在一行的开头自动插入正确的字符,根据该行注释掉该行文件的文件类型.
我想我可以使用自动命令识别文件类型,并在文件打开时将vim变量设置为正确的注释字符.所以我尝试了类似的东西: " Control C,which is NEVER used. Now comments out lines! autocmd BufNewFile,BufRead *.c let CommentChar = "//" autocmd BufNewFile,BufRead *.py let CommentChar = "#" map <C-C> mwI:echo &CommentChar<Esc>`wll 该地图标记我当前的位置,在插入模式下转到行的开头,在该点回显注释字符,进入命令模式,返回到设置标记,并向右移动两个字符以弥补插入注释字符(假设C样式注释). 斜体部分是我遇到麻烦的部分;它只是作为一个占位符来代表我想做的事情.你能帮我弄清楚如何实现这个目标吗?如果您使用strlen(CommentChar)向右移动正确数量的空格,则可获得奖励积分! vim-master的额外奖励积分包括如果您处于视觉模式时如何进行块式评论!! 我在vim脚本方面还是比较新的;我的.vimrc是98行长,所以如果你能解释你提供的任何答案,请帮助我!谢谢. 解决方法
您可以使用< C-r>这里:
noremap <C-c> mwI<C-r>=g:CommentChar<CR><Esc>`wll 见:h i_CTRL-R. 另请查看NERDCommenter插件,它的映射将如下所示: " By default,NERDCommenter uses /* ... */ comments for c code. " Make it use // instead let NERD_c_alt_style=1 noremap <C-c> :call NERDComment(0,"norm")<CR> 而且您不必自己定义注释字符. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |