【转】vim格式化C代码

转自:http://blog.chinaunix.net/uid-24774106-id-3396220.html

在自己的目录下编辑自己的.vimrc,

  1. vim ~/.vimrc

添加下面的几行:

  1. : filetype indent on

  2. set et

  3. set ci

  4. set shiftwidth=4

  5. autocmd FileType make setlocal
    noexpandtab

   
解释下含义,

  1. set ci

表示采用类似c 语言的缩进风格。

与自动缩进相关的变量表





















变量名 缩写 含义
(no)autoindent ai 自动缩进,即为新行自动添加与当前行同等的缩进。
(no)cindent ci 类似C语言程序的缩进
(no)smartindent si 基于autoindent的一些改进

  1. set et

作用是展开tab,将用户输入的tab自动展开成若干个空格,至于多少空格,看shiftwidth。
































与TAB相关的变量表
变量名 缩写 含义
tabstop=X ts 编辑时一个TAB字符占多少个空格的位置。
shiftwidth=X sw 使用每层缩进的空格数。
(no)expandtab (no)et 是否将输入的TAB自动展开成空格。开启后要输入TAB,需要Ctrl-V<TAB>
softtabstop=X sts 方便在开启了et后使用退格(backspace)键,每次退格将删除X个空格
(no)smarttab (no)sta 开启时,在行首按TAB将加入sw个空格,否则加入ts个空格。
   
在这种情况下,可以格式化我们的C 代码了。

  1. 1  gg        
      回到文件的第一行

  2. 2 shift+v

  3. 3 shift+g    
     回到文件的最后一行

  4. 4 =          
     格式化

(扩展一下,如果想要格式化当前光标之后的8行,没有第一步骤,第三步骤为:shift+8)

这样就完毕了。这样出来了C
风格的缩进,同时也满足了tab键变成了4个空格。

同时我们注意,Makefile的tab键不允许扩展成4个空格,否则会出现语法错误。所以我们用了
下面语句对Makefile类型特殊处理。

  1. autocmd FileType make setlocal
    noexpandtab

 
 另外一点对于新写的代码满足了table变成了4个空格,但是对老文件,并不会重新排版,用户可以采用如下命令重新解析tab键

  1. :retab

  
   
这个工具非常有用,写代码的时候,就不必计较格式稍微有点不工整,同时编辑的时候还可以用tab键(总比不停敲四个空格效率高),显示的时候又不会混乱。

采用这个之前,可以看到tab键并没有变成空格,不同的编辑器对tab的解读不同造成输出结果不是预期的。

采用这个之后配置之后,tab变成四个空格,无论在什么编辑器下看,都是一致的输出。

【转】vim格式化C代码,布布扣,bubuko.com

时间: 2024-10-12 13:22:30

【转】vim格式化C代码的相关文章

[VIM] 格式化代码

快速使用vim格式化代码 在vim的编辑模式i下直接ESC退出道命令模式之后直接敲入如下命令: gg=G        将全部代码格式化 nG=mG    将第n行到第m行的代码格式化 注:如果ESC之后输入的是 :gg=G 即前面加了个分号':'那么就会有不是编辑器命令的提示. 快速说明 格式化全文指令 gg=G 自动缩进当前行指令 == 格式化当前光标接下来的8行 8= 格式化选定的行 v 选中需要格式化的代码段 = 备注: gg   -- 到达文件最开始 =    -- 要求缩进 G   

Vim格式化代码功能——gg=G

Vim格式化代码功能——gg=G 常用的几个功能: (1) gg=G 是一个自动缩进的命令 (在命令状态下直接输入,不需要输入冒号),gg是文件首,G是文件尾,所以 gg=G 是整理全部代码.(2) == 整理当行,加行数整理多行.(3) ={ 或者 =i{ 整理一个代码块.(4) mG=nG 当 m 不等于 n 的时候能完成从 m 行到 n 行的局部的缩进.例如,从80行缩进直到100行,你可以用 80G=100G,在命令状态下使用 :set nu 查看行号,一般更习惯将 se nu 直接写入

vim格式化代码

格式化全文: gg 到达文件最开始 = 要求缩进 G 直到文件尾 自动缩进当前行: == 格式化当前光标接下来的n行: n== 格式化选定的行: v选中需要格式化的代码段 = 缩进选定的行: v选中需要格式化的代码段 或< 右或左缩进

Dreamweaver如何格式化html代码【转载】

草考文献:Dreamweaver如何格式化html代码 我们在使用Dreamweaver进行网页制作时,通过编辑其设置中的代码格式,可以一键实现代码格式化,从而让代码格式统一,提高代码可读性. 工具/原料 Dreamweaver CS6 方法/步骤 用Dreamweaver打开现有html文档时,可能会出现如图所示的没有任何缩进的代码,可读性很差   为了格式化代码,我们可以先设置一下自己想要的代码格式. 依次点击 编辑 -> 首选参数: 英文版则是 Edit -> Preferences  

Sublime text 3 如何格式化HTML代码

使用Sublime text 3 编写代码是一种享受,使用Sublime text 3 格式化HTML代码,需要安装插件,具体安装步骤如下: 1.Ctrl+Shift+p,输入 Package Control:Install Package . 2.等待程序进入插件管理功能,再输入插件名称:TAG. 3.点击安装插件. 4.插件安装成功后,在需要格式化的HTML代码中,选中代码,然后按Ctrl+Alt+F对代码进行格式化. 5.最后再将格式的代码通过Tab来进行排版.

格式化JavaScript代码

javascript代码格式化工具 网上下载的js代码经常遇到代码已被压缩(注释.换行.缩进.空格.TAB等都被删除了),如果拿来学习.研究的话必定看到头晕.有些编辑器的“格 式化代码”功能可以解决这个问题,在网上搜索了一下,找到一些这样的工具,其中用sourceformatx 很不错,支持很多语言,不过要收费,未注册的不能格式化大于8k的代码.注册费188元,太贵了:TextRush虽说免费,但好像根本没有发布: polystyle似乎不错:vs.net的插件ReSharper也有这样的功能,

CSS格式化 CSS代码压缩工具

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn"> <head> <met

eclipse格式化自定义代码样式风格

shift+ctrl+f是格式化当前代码样式 格式化整个项目,右健--soruce-formatter 若要设置class,method中的第一个"{",在类名,方法名的同一行,要以在: windows->prrferences->java->code style->formatter->edit->braces中,全部设置为sameline.若要在新  一行显示,则设置为next line. 设置『Formatter』:Eclipse内置的模板不能

Xcode 中配置 clang-format 格式化 C++ 代码

Xcode 自带的代码格式化功能(control + I)很有限,其 "格式化" 仅限于设置缩进,代码里面的格式是不会处理的.所以需要借助额外的工具来完成代码的美化. clang-format 便是可选的工具之一,它可用来格式化 C/C++/Java/JavaScript/Objective-C/Protobuf/C# 等代码. 其内置了多种预设的代码风格,分别有 LLVM, Google, Chromium, Mozilla, WebKit. 可通过添加 .clang-format