加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

将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>

而且您不必自己定义注释字符.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读