linuxc语⾔vim配置,vimc语⾔开发配置
vim c 开发配置
介绍
Vim强⼤的功能,其来源基本上就两个地⽅:Vim插件以及Vim配置⽂件。 Vim本⾝的系统配置⽂件夹是在/usr/share/vim/和/etc/vim/两个⽂件夹下。⼀般情况下,我们不会去改变这两个⽂件夹下的配置⽂件,⽽是在⽤户⽂件夹/home/user下建⽴⾃⼰的配置⽂件。进⼊⽤户⽂件夹之后,新建⼀个名叫.vimrc的⽂件
基本配置
在.vimrc⾥⾯加上以下的代码:
set nocompatible
if has("syntax")
syntax on
endif
colorscheme ron
filetype on
filetype plugin on
set background=dark
if has("autocmd")
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
filetype plugin indent on
endif
set autowrite " ⾃动把内容写回⽂件: 如果⽂件被修改过,在每个 :next、:rewind、:last、:first、:previous、:stop、:suspend、:tag、:!、:make、CTRL-] 和 CTRL-^命令时进⾏;⽤ :buffer、CTRL-O、CTRL-I、'{A-Z0-9} 或 `{A-Z0-9} 命令转到别的⽂件时亦然。
set autoindent " 设置⾃动对齐(缩进):即每⾏的缩进值与上⼀⾏相等;使⽤ noautoindent 取消设置
set tabstop=4 " 设置制表符(tab键)的宽度
set softtabstop=4 " 设置软制表符的宽度
set shiftwidth=4 " (⾃动) 缩进使⽤的4个空格
set cindent " 使⽤ C/C++ 语⾔的⾃动缩进⽅式
set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s "设置C/C++语⾔的具体缩进⽅式
set showmatch " 设置匹配模式,显⽰匹配的括号
set linebreak " 整词换⾏
set whichwrap=b,s,,[,] " 光标从⾏⾸和⾏末时可以跳到另⼀⾏去
set mouse=a " Enable mouse usage (all modes) "使⽤⿏标
set number " Enable line number "显⽰⾏号
set history=50 " set command history to 50 "历史记录50条
set laststatus=2 " 总显⽰最后⼀个窗⼝的状态⾏;设为1则窗⼝数多于⼀个的时候显⽰最后⼀个窗⼝的状态⾏;0不显⽰最后⼀个窗⼝的状态⾏
set ruler " 标尺,⽤于显⽰光标位置的⾏号和列号,逗号分隔。每个窗⼝都有⾃⼰的标尺。如果窗⼝有状态⾏,标尺在那⾥显⽰。否则,它显⽰在屏幕的最后⼀⾏上。
set showcmd " 命令⾏显⽰输⼊的命令
set showmode " 命令⾏显⽰vim当前模式
set incsearch " 输⼊字符串就显⽰匹配点
set hlsearch
然后新建的⽂件就会有⼀些规则了(换⾏等)
ctags安装
ctags可以建⽴源码树的标签索引(标签就是⼀个标识符被定义的地⽅,如函数定义),使程序员在编程
时能迅速定位函数、变量、宏定义等位置去查看原形
yum install ctags
ctags需要建⽴源码索引才能使⽤,因此我们在我们编写的源码下⾯:
ctags -R *
建⽴索引。 在.vimrc⽂件中加⼊:
linux系统vim编辑器"--ctags setting--
" 按下F5重新⽣成tag⽂件,并更新taglist
set tags=tags
set tags+=./tags "add current directory's generated tags file
set tags+=~/arm/linux-2.6.24.7/tags "add new tags file(刚刚⽣成tags的路径,在ctags -R ⽣成tags⽂件后,不要将tags移动到别的⽬录,否则ctrl+]时,会提⽰不到源码⽂件)
set tags+=./tags表⽰在当前⼯作⽬录下搜索tags⽂件 set tags+=~/arm/linux-2.6.24.7/tags表⽰在搜寻tags⽂件的时候,也要搜寻~/arm/linux-2.6.24.7/⽂件夹下的tags⽂件。 然后保存并退出vi。这样,你就可以⽤vim在任意地⽅查看有关Linux的函数原形。 tag命令⽤法: Ctrl+] 跳到当前光标下单词的标签 Ctrl+O 返回上⼀个标签 Ctrl+T 返回上⼀个标签 :tag TagName 跳到TagName标签 以上命令是在当前窗⼝显⽰标签,当前窗⼝的⽂件替代为包标签的⽂件,当前窗⼝光标跳到标签位置。如果不希望在当前窗⼝显⽰标签,可以使⽤以下命令: :stag TagName 新窗⼝显⽰TagName标签,光标跳到标签处 Ctrl+W + ] 新窗⼝显⽰当前光标下单词的标签,光标跳到标签处 当⼀个标签有多个匹配项时(函数 (或类中的⽅法) 被多次定义),":tags" 命令会跳转到第⼀处。如果在当前⽂件中存在匹配,那它将会被⾸先使⽤。 可以⽤这些命令在各匹配的标签间移动: :tfirst 到第⼀个匹配 :[count]tprevious 向前 [count] 个匹配 :
[count]tnext 向后 [count] 个匹配 :tlast 到最后⼀个匹配 或者使⽤以下命令选择要跳转到哪⼀个 :tselect TagName 输⼊以上命令后,vim会为你展⽰⼀个选择列表。然后你可以输⼊要跳转到的匹配代号 (在第⼀列)。其它列的信息可以让你知道标签在何处被定义过。 以下命令将在预览窗⼝显⽰标签 :ptag TagName 预览窗⼝显⽰TagName标签,光标跳到标签处 Ctrl+W + } 预览窗⼝显⽰当前光标下单词的标签,光标跳到标签处 :pclose 关闭预览窗⼝ :pedit file.h 在预览窗⼝中编辑⽂件file.h(在编辑头⽂件时很有⽤) :psearch atoi 查当前⽂件和任何包含⽂件中的单词并在预览窗⼝中显⽰匹配,在使
⽤没有标签⽂件的库函数时⼗分有⽤。 最简单的使⽤⽅法举例 ⽤vi在任意⽬录写⼀个Test.c⽂件,内容如下:
int main(void)
{
printf("Hello World!\n");
return 0;
}
写好后末⾏模式输⼊w保存好(不要退出vi),按Esc回到指令模式,把光标停留在printf上 然后按 Ctrl + ],vi会⾃动跳到Linux系统函数printf()处,这时我们能查看printf()的原形,查看完了,按Ctrl+o(回到上⼀个标签) 就回到原来的地⽅
vim⾃动补全——OmniCppComplete
vim的⾃动补全功能可通过其插件OmniCppComplete实现。 安装OmniCppComplete; 配置OmniCppComplete; 在vim配置⽂
件/home/user/.vimrc中加⼊如下的配置:
"-- omnicppcomplete setting --
imap " 按下F3⾃动补全代码,注意该映射语句后不能有其他字符,包括tab;否则按下F3会⾃动补全⼀些乱码
imap " 按下F2根据头⽂件内关键字补全
set completeopt=menu,menuone " 关掉智能补全时的预览窗⼝
let OmniCpp_MayCompleteDot = 1 " autocomplete with .
let OmniCpp_MayCompleteArrow = 1 " autocomplete with ->
let OmniCpp_MayCompleteScope = 1 " autocomplete with ::
let OmniCpp_SelectFirstItem = 2 " select first item (but don't insert)
let OmniCpp_NamespaceSearch = 2 " search namespaces in this and included files
let OmniCpp_ShowPrototypeInAbbr = 1 " show function prototype in popup window
let OmniCpp_GlobalScopeSearch=1 " enable the global scope search
let OmniCpp_DisplayMode=1 " Class scope completion mode: always show all members
"let OmniCpp_DefaultNamespaces=["std"]
let OmniCpp_ShowScopeInAbbr=1 " show scope in abbreviation and remove the last column
let OmniCpp_ShowAccess=1
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论