Linux实验:关于VIM的配置

本实验报告详细介绍了在Linux环境下使用VIM进行高效编程的配置方法,包括安装VIM、GCC/G++编译器,配置路径,以及通过安装插件如exuberant-ctags、vim-addons-manager等来提升编程体验。重点介绍了如何配置VIM以实现语法高亮、自动补全等功能,同时介绍了使用ctags、TagList、WinManager和SuperTab等插件进行代码浏览和管理的方法,最后总结了VIM在编程中的应用优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

                             

 

 

 

 

 

 

 

 

 

  Linux的实验报告:关于VIM的IDE的配置

一、实验目的:

  1.简单配置VIM,使用可以更好的进行编程;

  2.使用配置环境,进行编程;

  3.理解Linux下用VIM编程的好处,学习使用Linux。

二、实验内容:

         通过配置VIM的插件,及相应的.vimrc的内容来实现VIM的编程环境构建。插件自己任选。

三、基本信息:

  1.个人信息:

     班级:

     学号:

             姓名:

  2.系统信息:

       ubuntu-12.04.1-dvd-i386系统。

四、实验步骤:

 1.安装VIM

   由于个人装的是DVD版本的系统,已集成VIM;其他电脑可以终端使用sudo apt-get install vim来进行安装vim,对于vim 的简单使用可以在终端:vimtutor来学习vim的简单使用。

           另外还需要安装exuberant-ctags,和vim-doc。以后有用。

 2.安装gcc,g++编译器

        终端:sudo apt-get install gcc

                    sudo apt-get install g++

                   sudo apt-get update

   3.介绍一些路径

      ~./vim/plugin

            ~/.vim/doc

            ~/.vim/syntax

      如果没有这些,自己创建;

  注意:本文所指.vimrc均指~/.vimrc文件。

     4.配置过程:

  (1)简单的配置

   语法高亮的配置:

   新建~/.vim/syntax/c.vim

        文件内容如下:

   

.vimrc文件的内容:

ifhas("syntax")

     syntax on            " 语法高亮

endif

colorschemeron        " elflord ron peachpuffdefault 设置配色方案,vim自带的配色方案保存在/usr/share/vim/vim72/colors目录下

" detect filetype

iletype on

filetype plugin on

" If using a darkbackground within the editing area and syntax highlighting

" turn onthis option as well

setbackground=dark

" Uncommentthe following to have Vim jump to the last position when

" reopening afile

ifhas("autocmd")

au BufReadPost *if line("'\"") > 1 && line("'\"")<= line("$") | exe "normal! g'\"" | endif

"have Vimload indentation rules and plugins according to the detected filetype

filetype pluginindent on

endif

" Thefollowing are commented out as they cause vim to behave a lot

" differentlyfrom regular Vi. They are highly recommended though.

"setignorecase        " 搜索模式里忽略大小写

"setsmartcase        " 如果搜索模式包含大写字符,不使用 'ignorecase' 选项。只有在输入搜索模式并且打开 'ignorecase' 选项时才会使用。

set autowrite        " 自动把内容写回文件: 如果文件被修改过,在每个 :next、:rewind、:last、:first、:previous、:stop、:suspend、:tag、:!、:make、CTRL-] 和 CTRL-^命令时进行;用 :buffer、CTRL-O、CTRL-I、'{A-Z0-9} 或 `{A-Z0-9} 命令转到别的文件时亦然。

setautoindent        " 设置自动对齐(缩进):即每行的缩进值与上一行相等;使用 noautoindent 取消设置

setsmartindent        " 智能对齐方式

set tabstop=4        " 设置制表符(tab键)的宽度

setsofttabstop=4     " 设置软制表符的宽度   

setshiftwidth=4    " (自动) 缩进使用的4个空格

set cindent            " 使用 C/C++ 语言的自动缩进方式

setcinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s     "设置C/C++语言的具体缩进方式

setbackspace=2    " 设置退格键可用

set showmatch        " 设置匹配模式,显示匹配的括号

set linebreak        " 整词换行

setwhichwrap=b,s,<,>,[,] " 光标从行首和行末时可以跳到另一行去

"set hidden" Hide buffers when they are abandoned

set mouse=a            " Enable mouse usage (allmodes)    "使用鼠标

set number            " Enable line number    "显示行号

"set previewwindow    " 标识预览窗口

sethistory=50        " set commandhistory to 50    "历史记录50条

"--状态行设置--

set laststatus=2" 总显示最后一个窗口的状态行;设为1则窗口数多于一个的时候显示最后一个窗口的状态行;0不显示最后一个窗口的状态行

set ruler            " 标尺,用于显示光标位置的行号和列号,逗号分隔。每个窗口都有自己的标尺。如果窗口有状态行,标尺在那里显示。否则,它显示在屏幕的最后一行上。

"--命令行设置--

set showcmd            " 命令行显示输入的命令

set showmode        " 命令行显示vim当前模式

"--findsetting--

set incsearch        " 输入字符串就显示匹配点

set hlsearch

(2)插件管理器的安装

 sudo apt-get install vim-addons-manager;

(3) 在程序中跳来跳去: Ctags 的使用

         ctags程序其是叫"Exuberant Ctags", 是Unix上面ctags程序的替代品, 并且比它功能强大, 是大多数Linux发行版上默认的ctags程序. 那么tags文件是做什么用的呢? 如果你在读程序时看了一个函数调用, 或者一个变量, 或者一个宏等等, 你想知道它们的定义在哪儿, 怎么办呢? 用grep? 那会搜出很多不相干的地方. 现在流行用是的<C-]>, 谁用谁知道呀, 当光标在某个函数或变量上时, 按下"Ctrl+]",光标会自动跳转到其定义处。

安装:进入官网:http://ctags.sourceforge.net下载

解压:将对应的文件放在之前所建立的对应文件下。

建立:mkdir tags ,进入tags,终端运行ctags -R;

配置:在.vimrc文件中的配置内容是:

    "--ctags setting--

"按下F5重新生成tag文件,并更新taglist

map<F5> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q.<CR><CR> :TlistUpdate<CR>

imap<F5> <ESC>:!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q.<CR><CR> :TlistUpdate<CR>

settags=/home/zhaoyang/tags

settags+=./tags "add current directory's generated tags file

settags+=tags "add new tags file(刚刚生成tags的路径,在ctags-R 生成tags文件后,不要将tags移动到别的目录,否则ctrl+]时,会提示找不到源码文件)

结果:将光标放在stu上面,然后按F5,再按Ctrl+],来看结果,光标自动跳转到stu的定义处。

 

 

(4)高效地浏览源码 -- 插件: TagList

  在Windows平台上用过Source Insight看程序的人肯定很熟悉代码窗口左边那个Symbol窗口, 那里面列出了当前文件中的所有宏, 全局变量, 函数名等, 在查看代码时用这个窗口总揽全局, 切换位置相当方便, 今天告诉你一个vim的插件: Taglist, 可以同样实现这个功能.

      "TagList"是一个用来浏览源代码的Vim插件, 这个插件可以让你高效地浏览各种不同语言编写的的源代码。

 

安装:vim-addons  install taglist

配置:在.vimrc中添加以下内容

"--Taglist setting --

letTlist_Ctags_Cmd='ctags' "因为我们放在环境变量里,所以可以直接执行

 

letTlist_Use_Right_Window=1 "让窗口显示在右边,0的话就是显示在左边

letTlist_Show_One_File=0 "让taglist可以同时展示多个文件的函数列表

letTlist_File_Fold_Auto_Close=1 "非当前文件,函数列表折叠隐藏

letTlist_Exit_OnlyWindow=1 "当taglist是最后一个分割窗口时,自动推出vim

"是否一直处理tags.1:处理;0:不处理

letTlist_Process_File_Always=1 "实时更新tags

letTlist_Inc_Winwidth=0

使用:打开文件,命令模式::Tlist,即可以看到。

 (5)文件浏览器和窗口管理器 -- 插件: WinManager

安装:vim-addons install winmanager

配置:在.vimrc中添加以下内容:

   "--winmanager---

 

letg:winManagerWindowLayout='FileExplorer|TagList'

 

nmapwm :WMToggle<cr>

         使用:wm

         

(6)代码自动补全omnicppcomplete:

安装:vim-addons install omnicppcomplete

配置:在.vimrc中添加以下内容:

 "-- omnicppcomplete setting --

"按下F3自动补全代码,注意该映射语句后不能有其他字符,包括tab;否则按下F3会自动补全一些乱码

imap<F3> <C-X><C-O>

"按下F2根据头文件内关键字补全

imap<F2> <C-X><C-I>

setcompleteopt=menu,menuone " 关掉智能补全时的预览窗口

letOmniCpp_MayCompleteDot = 1 " autocomplete with .

letOmniCpp_MayCompleteArrow = 1 " autocomplete with ->

letOmniCpp_MayCompleteScope = 1 " autocomplete with ::

letOmniCpp_SelectFirstItem = 2 " select first item (but don't insert)

letOmniCpp_NamespaceSearch = 2 " search namespaces in this and included files

letOmniCpp_ShowPrototypeInAbbr = 1 " show function prototype in popup window

letOmniCpp_GlobalScopeSearch=1 " enable the global scope search

letOmniCpp_DisplayMode=1 " Class scope completion mode: always show allmembers

"letOmniCpp_DefaultNamespaces=["std"]

letOmniCpp_ShowScopeInAbbr=1 " show scope in abbreviation and remove the lastcolumn

letOmniCpp_ShowAccess=1

使用:在stu的后面放置光标,按F5生成tags文件,并使用Ctrl+x Ctrl+o,即可以使用了。结果下图                                                                                                    

                                                                                                                                                                                                                                                                                                                           此时有一些快捷键:

  

Ctrl+P

向前切换成员

Ctrl+N

向后切换成员

Ctrl+E

表示退出下拉窗口, 并退回到原来录入的文字

Ctrl+Y

表示退出下拉窗口, 并接受当前选项

      如果你增加了一些成员变量, 全能补全还不能马上将新成员补全, 需要你重新生成一下tags文件, 但是你不用重启vim, 只是重新生成一下tags文件就行了, 这时全能补全已经可以自动补全了, 还真够"全能"吧.

vim中的其他补全方式还有:

Ctrl+X  Ctrl+L

整行补全

Ctrl+X  Ctrl+N

根据当前文件里关键字补全

Ctrl+X  Ctrl+K

根据字典补全

Ctrl+X  Ctrl+T

根据同义词字典补全

Ctrl+X  Ctrl+I

根据头文件内关键字补全

Ctrl+X  Ctrl+]

根据标签补全

Ctrl+X  Ctrl+F

补全文件名

Ctrl+X  Ctrl+D

补全宏定义

Ctrl+X  Ctrl+V

补全vim命令

Ctrl+X  Ctrl+U

用户自定义补全方式

Ctrl+X  Ctrl+S

拼写建议

                                                                                                                                                                                                                                                                        (7   (7)加速你的补全 -- 插件:SuperTab

安装:vim-addons install supertab

配置:在.vimrc文件中配置以下内容

   let g:SuperTabRetainCompletionType=2
   letg:SuperTabDefaultCompletionType="<C-X><C-O>"以后可以按

    tab进行自动补全了。

 

五、实验总结:

     vim的使用是对程序员的一个帮助,感谢各位前辈们,留下了许多比较好配置文件和许多vim配置方法,让我们可以使vim更加的有利于我们的编码工作。Linux有了VIM,是程序员人福气!!!                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值