zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    域名解析成功但ping不通解决方案
    PHP如何通过rabbitMQ死信队列实现业务的延时/定时操作
    短视频自导自演,分镜脚本如何设计
    如何在uni-app中使用fingerprint2实现游客设备标识
    以PHP门面模式实现简单的邮件发送
    搜索接口优化方案——幂集分词表
    CUMTCTF'2020 未完成 wp
    CUMTCTF'2020 已做wp
    Sqli-labs 1-10
    ETCD组件在grpc中的实践
  • 原文地址:https://www.cnblogs.com/xiaoshiwang/p/11942144.html
Copyright © 2011-2022 走看看