openrefactory/c笔记 (一)

原创 2015年07月10日 20:37:30

openrefactory/c(以下简称or/c)是一个针对C语言的代码重构工具,支持在vim和eclipse中进行代码重构。

相关文档介绍可在此处获取

由于其官网http://www.http://openrefactory.org 一直进不去,使用https://github.com/rdallman/openrefactory-vim的插件来进行实验,该插件是针对vim开发的,我使用的

操作系统为:ubuntu14.04.2 (64位)

vim版本为:7.4.52

首先是安装,在上面的github页面,安装步骤已经写的很详细了,我大致说一下,

1.安装java,可以参照我之前的博文 Ubuntu14.04安装java

2.安装vundle并使用vundle安装or/c,从https://github.com/VundleVim/Vundle.vim获取资源和安装步骤

2.1 设置Vundle

$ git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim

2.2配置.vimrc文件(在当前用户目录下)

将以下代码放在.vimrc文件中,注意(“)开头的是注释,把不需要的插件注释掉,只保留我们需要的插件,

set nocompatible              " be iMproved, required
filetype off                  " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')
" let Vundle manage Vundle, required
Plugin 'gmarik/Vundle.vim'
plugin 'rdallman/openrefactory-vim' "添加我们需要的插件or/c
" The following are examples of different formats supported. 下面介绍了几种不同的插件获取方式
" Keep Plugin commands between vundle#begin/end.
" plugin on GitHub repo 从github获取插件方式
“Plugin 'tpope/vim-fugitive' 注释掉不需要的插件 
" plugin from http://vim-scripts.org/vim/scripts.html 从vim-script获取插件方式
"Plugin 'L9'注释掉不需要的插件
" Git plugin not hosted on GitHub
“Plugin 'git://git.wincent.com/command-t.git'注释掉不需要的插件
" git repos on your local machine (i.e. when working on your own plugin) 从本地计算机获取插件方式
”Plugin 'file:///home/gmarik/path/to/plugin'注释掉不需要的插件
" The sparkup vim script is in a subdirectory of this repo called vim.
" Pass the path to set the runtimepath properly.
“Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}注释掉不需要的插件
" Avoid a name conflict with L9
”Plugin 'user/L9', {'name': 'newL9'}注释掉不需要的插件
" All of your Plugins must be added before the following line
call vundle#end()            " required
filetype plugin indent on    " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" Brief help 这里介绍了
" :PluginList       - lists configured plugin 显示要安装的插件
" :PluginInstall    - installs plugins; append `!` to update or just :PluginUpdate 安装插件
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
" :PluginClean      - confirms removal of unused plugins; append `!` to auto-approve removal卸载插件,卸载时只需要到此文件.vimrc将要卸载的插件注释掉再执行此命令即可
"
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line

打开vim然后执行:BundleInstall就行了。


3.现在就可以在vim中对C文件使用or/c进行代码重构了。

支持的重构方法有:

Rename

Add Local Variable

Add Reflexive Assignment

Move Expression Assignment

Remove Useless Expression

Change Integer Type

Add Integer Cast

Change Integer Type

Replace Arithmetic Operator

期间遇到问题,可以在vim中使用:help openrefactory获取帮助。注意,以上vim中的命令都支持tab键补全。

openrefactory/c笔记(二)

经过笔记(一)中的一番折腾,应该可以在vim中使用or/c的功能了, 这篇文章就介绍下or/c中的重命名的转换方法。 按照目前实践的结果来看,这个重命名(Rename)功能只能在单文件内对变量和函数名...
  • fairy_tale304
  • fairy_tale304
  • 2015年07月11日 14:04
  • 233

C语言笔记整理完整版

2016年11月9日 18:09:02      结束   ————————————————————————2016年10月31日 21:23:34————————————————————...
  • qq_36100960
  • qq_36100960
  • 2016年11月09日 18:08
  • 1377

C语言程序设计笔记(一)

1.计算机和编程语言 - 程序是用特殊的编程语言写出来表达如何解决问题的 - 不是用编程语言来和计算机交谈、而是描述要求它如何做事的过程和方法 - 辗转相除法(在数据结构中,这称为自然语...
  • fj_Author
  • fj_Author
  • 2015年06月01日 00:52
  • 4091

C语言完整笔记

C语言的字符集 C语言字符集由字母,数字,空格,标点和特殊字符组成。 1.字母 小写字母a~z共26个 大写字母A~Z共26个 2.数字 0~9共10个 3.空白符 空格符、制表符、换行符等统...
  • focusjava
  • focusjava
  • 2013年08月28日 13:20
  • 3575

数据结构C语言版本的学习笔记

数据结构C语言版本的学习笔记
  • masonson
  • masonson
  • 2016年10月13日 09:50
  • 307

《TCP/IP详解卷1:协议》笔记--TCP紧急通知

P300 下面是一个涉及到TCP紧急方式的例子。 在主机sun上运行rlogin客户进程,然后登录到主机bsdi,向终端输出一个大文本文件,然后键入control s终端输出,当输出 停止时,我们键入...
  • TODD911
  • TODD911
  • 2014年04月14日 16:37
  • 2182

openrefactory/c笔记之添加本地变量(三)

在(二)中,我们讨论了重命名的相关操作,并且给出了详细的操作过程。所以,在以后的or/c系列文章,如非必要,将不在给出详细过程,重点转向每个重构方法的适用条件和重构(转换)后效果,以及其能解决的问题。...
  • fairy_tale304
  • fairy_tale304
  • 2015年07月13日 09:40
  • 249

《手把手教你学C语言》学习笔记(1)---C语言的特点

C语言的两个知识点库和指针
  • guochaoxxl
  • guochaoxxl
  • 2017年04月22日 08:18
  • 734

C程序设计语言笔记

本文主要记录C语言“圣经”——《C程序设计语言》
  • lincoln_2012
  • lincoln_2012
  • 2014年07月10日 17:15
  • 1129

UNP卷一学习笔记:I/O模型

UNIX下可用的5种I/0模型: (1)阻塞式I/O   (2)非阻塞式I/O   (3)I/O复用   (4)信号驱动I/O(SIGIO)    (5)异步I/O 前4种属于同步操作,第5种属于异步...
  • u014557232
  • u014557232
  • 2016年03月19日 14:25
  • 320
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:openrefactory/c笔记 (一)
举报原因:
原因补充:

(最多只允许输入30个字)