emacs和vi如何多行注释
- BigSnake.NET
- 帖子: 12522
- 注册时间: 2006-07-02 11:16
- 来自: 廣州
- 联系:
-
- 帖子: 768
- 注册时间: 2006-09-20 19:56
还是给出来吧,方便不会lisp语言的新手。
最后一句可以根据需要修改,例如,如果你要在python模式中使用,就这用:
之后,使用C-c C-c一个快捷键就基本上可以搞定日常需要的注释、反注释操作了。
不建议使用global-set-key,很多时候会被覆盖。
代码: 全选
;; 没有任中任何区域时,注释、反注释作用于当前行,否则作用于
;; 选中区域
(defadvice comment-or-uncomment-region (before slickcomment activate compile)
"When called interactively with no active region, toggle comment on current line instead."
(interactive
(if mark-active (list (region-beginning) (region-end))
(list (line-beginning-position)
(line-beginning-position 2)))))
(define-key c-mode-base-map (kbd "C-c C-c") 'comment-or-uncomment-region)
代码: 全选
(define-key python-mode-map (kbd "C-c C-c") 'comment-or-uncomment-region)
不建议使用global-set-key,很多时候会被覆盖。
- Strange
- 帖子: 1824
- 注册时间: 2006-05-19 9:54
- 来自: Shanghai
- alinmn
- 帖子: 185
- 注册时间: 2006-05-19 21:42
- 来自: NIT
写了几个映射,可以实现/* */格式的注释和反注释。当被注释文本含有/* */格式的注释时,会自动将其替换为/ * * /。反注释会将/ * * /替换为/* */。Normal模式下<F2>cm,<F2>uc注释或反注释当前行,Visual模式下注释或反注释块所在的若干行。
代码: 全选
"Uncomment
:nnoremap <F2>uc :.s+\(// *\\|/\* *\\| *\*/\)++g<CR>:silent! .s+\(/\@<= \*\@=\\|\*\@<= /\@=\)++g<CR>:noh<CR>
"Comment
:nnoremap <F2>cm :.s/^\(.*\)$/\/* \1 *\//<CR>:silent! .s+\(./\)\@<=\*\@=\\|\*\@<=\(/.\)\@=+ +g<CR>:noh<CR>
"Visual comment
:vnoremap <F2>cm :<ESC>'<O<Home>/*<ESC>'>o<Home>*/<ESC>:silent!'<,'>s+/\@<=\*\@=\\|\*\@<=/\@=+ +g<CR>:noh<CR>
"Visual uncomment
:vnoremap <F2>uc :s+\(/\*\\|\*/\)++<CR>:silent! '<,'>s+\(/\@<= \*\@=\\|\*\@<= /\@=\)++g<CR>:noh<CR>
-
- 帖子: 13
- 注册时间: 2009-03-13 22:09
Re: emacs和vi如何多行注释
4楼正解,thanks ! 我用的vim
-
- 帖子: 24
- 注册时间: 2011-05-07 14:30
Re: emacs和vi如何多行注释
俺是新手, 不过我想等学好正则表达式了这些问题应该都不难吧~~ 

- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: emacs和vi如何多行注释
这个不关正则的事的kideagle 写了:俺是新手, 不过我想等学好正则表达式了这些问题应该都不难吧~~

-
- 帖子: 157
- 注册时间: 2010-11-11 18:13
- 系统: Ubuntu
Re:
用的windows下的吧,把_vimrc里的source $VIMRUNTIME/mswin.vim注释掉或直接删掉lk_517 写了:为什么我的vim里面ctrl+v没有任何反映?karron 写了:vim
ctrl+v 进入列模式,向下或向上移动光标,把需要注释的行的开头标记起来,然后按大写的I,再插入注释符,比如#,再按esc,就会全部注释了.
- fanhe
- 帖子: 2357
- 注册时间: 2007-03-24 23:45
Re: emacs和vi如何多行注释
NERD_commenter
这个插件解决所有注释的烦恼
这个插件解决所有注释的烦恼
- Fermat618
- 帖子: 728
- 注册时间: 2008-12-28 16:01
Re: emacs和vi如何多行注释
vim就上插件吧,一下就能找到好多个类似的插件。
Emacs的话不少mode都会提供这个功能,看下菜单里面一般会有的,再没有就看看文档。
Emacs的话不少mode都会提供这个功能,看下菜单里面一般会有的,再没有就看看文档。
爱因斯坦会弹钢琴
爱因斯坦会拉小提琴
爱因斯坦会骑自行车
爱因斯坦会拉小提琴
爱因斯坦会骑自行车