• 改变Emacs下的注释代码方式以支持当前行(未选中情况下)的注释/反注释


    Emacs下支持多行代码的注释/反注释,命令是comment-or-uncomment-region。

    我喜欢把它绑定在快捷键C-c C-/上,如下:

    (global-set-key [?C-c ?C-/] 'comment-or-uncomment-region)
    


    这样当选定多行代码的时候就可以方便的进行注释/反注释了。

    但是这个命令有一个小问题,那就是只能针对当前选中的行(region)做操作。

    如果当前没有选中任何行的话就什么也不做。

    用过Eclipse的同学都知道,在Eclipse里面用C-/来进行注释/反注释操作时,

    如果选中多行则注释/反注释选中行,如果什么都没有选中,则针对当前光标所在行进行操作。

    这个功能还是比较方便的,如何能让Emacs也能做到这一点呢?

    在自己的.emacs追加如下函数定义就可以了,这个函数会加入针对region的判断和处理:

    (defun my-comment-or-uncomment-region (beg end &optional arg)
      (interactive (if (use-region-p)
                       (list (region-beginning) (region-end) nil)
                     (list (line-beginning-position)
                           (line-beginning-position 2))))
      (comment-or-uncomment-region beg end arg)
    )
    (global-set-key [remap comment-or-uncomment-region] 'my-comment-or-uncomment-region)
    


    现在Emacs的行为接近于Eclipse了,不过还是有几处细微的不同:

    (1)它不会像Eclipse那样,在选中多行注释的时候,把其中的空行也加上注释

    (2)Eclipse的注释一律加在一行顶头的位置,而Emacs会加在相应indent对齐的位置。

    当然,具体的行为方式在Emacs中肯定是可以调整的,对我来说现在Emacs的方式已经可以满足我的需要了。


    参考url:http://www.emacswiki.org/emacs/WholeLineOrRegion


    /********************************************************************

    * 不落魄的书生的记事簿[blog.csdn.net/songyuanyao]

    ********************************************************************/

  • 相关阅读:
    解决Maven关于本地jar包的打包处理
    微信公众帐号应用开发—本地调试
    字符串
    动态类型
    数字
    React文档(二十四)高阶组件
    React文档(二十三)Web Components
    React文档(二十二)context
    React文档(二十一)协调
    React文档(二十)不使用JSX
  • 原文地址:https://www.cnblogs.com/james1207/p/3310701.html
Copyright © 2020-2023  润新知