• emacs 缩进


    emacs提供一些编码风格,可以使用M-x c-set-style来选择你喜欢的编码风格。

    Possible completions are:
    awk 	bsd 	cc-mode 	ellemtel 	gnu 	java
    k&r 	linux 	python   	stroustrup 	user   	whitesmith
    

    当你开发c/c++时,上面的这些风格对于,if,while,for所用的大括号的缩进,有点不尽人意。具体来说是下面的样子:

    if(...)
      {//-----①
        ...  
      }
    while(...)
      {//-----①
        ...  
      }
    for(...)
      {//-----①
        ...  
      }
    

    看着非常不爽,我想要下面的样子:

    if(...)
    {
      ...  
    }
    while(...)
    {
      ...  
    }
    for(...)
    {
      ...  
    }
    

    如何解决呢?

    步骤1:把光标移动到①处。

    步骤2:按ctrl-c ctrl-o(函数:c-set-offset )后,minibuffer的显示如下:

    注意:显示的【substatement-open】是函数c-set-offset的第一个参数。

    步骤3:按回车后,minibuffer的显示如下:

    可以输入数字,特殊字符。特殊字符包括【+-++--*,  / 】。

    这些特殊字符的含义:指出是变量 c-basic-offset的多少倍。

    • 零:代表和上一行对齐,不继续缩进。所以【{】就和上一行对齐了,达到了我的目的。

    • n:代表在对齐上一行的基础上,在缩进n个空格。

    • +:c-basic-offset times 1

    • -:c-basic-offset times −1

    • ++:c-basic-offset times 2

    • --:c-basic-offset times −2

    • *:c-basic-offset times 0.5

    • /:c-basic-offset times −0.5

    步骤4:选中if,for,while区域按TAB。

    完成上面4个步骤后,if,while,for所用的大括号的缩进,就和if,while,for对齐。

    想让上面的设置永久生效的化,就写如.emacs里。

    (add-hook 'c-mode-common-hook
    	  (lambda ()
    	    (c-set-offset 'substatement-open 0)))
    

    另外如果开启了自动换行和饥饿删除功能,配合缩进设置就更好用了。

    (add-hook 'c-mode-common-hook
    	  (lambda ()
    	    (c-set-offset 'substatement-open 0)
    	     (c-toggle-auto-hungry-state)));;启动自动换行和饥饿删除功能
    

    最后,当你发现任何地方的缩进不是你想要的,都可以通过调用函数c-set-offset,并指定参数和缩进的值,来实现。当不知道参数是啥的时候,就把光标放到那一行,按ctrl-c ctrl-o后,在minibuffer上显示的名字就是你想要的参数的名字。

    参考gnu

    c/c++ 学习互助QQ群:877684253

    本人微信:xiaoshitou5854

  • 相关阅读:
    Failed to parse PID from file /run/nginx.pid: Invalid argument
    Ubuntu16.04环境下bashrc文件位置
    virtualenvwrapper.sh报错: There was a problem running the initialization hooks.解决
    pip安装virtualenvwrapper报错的解决办法
    争鸣|函数性质的综合应用辨析
    总结|静雅斋之2020高考备考回顾总结
    2020年全国卷Ⅱ卷文科数学图片版
    奇怪|说好的求最大值变成了求最小值
    探究|平面向量探究题
    平面向量错误收集
  • 原文地址:https://www.cnblogs.com/xiaoshiwang/p/11942144.html
Copyright © 2020-2023  润新知