首页 > 学院 > 开发设计 > 正文

Ubuntu下VIM编译器的配置

2019-11-06 06:53:16
字体:
来源:转载
供稿:网友

1、sudo apt-get install vim

2、cd ~

3、vi .vimrc

" Allsystem-wide defaults are set in $VIMRUNTIME/debian.vim (usually just 

" /usr/share/vim/vimcurrent/debian.vim) and sourced by the call to:runtime " you can find below.  If you wish to change any of thosesettings, you should " do it in this file (/etc/vim/vimrc), since debian.vim will beoverwritten " everytime an upgrade of the vim packages is performed.  It isrecommended to " make changes after sourcing debian.vim since it alters the value ofthe " 'compatible' option. " This line should not be removed as it ensures that various optionsare " PRoperly set to work with the Vim-related packages available inDebian. runtime! debian.vim " Uncomment the next line to make Vim more Vi-compatible " NOTE: debian.vim sets 'nocompatible'.  Setting 'compatible'changes numerous " options, so any other options should be set AFTER setting'compatible'. set compatible " Vim5 and later versions support syntax highlighting. Uncommentingthe " following enables syntax highlighting by default. if has("syntax")   syntax on endif " If using a dark background within the editing area and syntaxhighlighting " turn on this option as well set background=dark " Uncomment the following to have Vim jump to the last position when " reopening a file if has("autocmd") au BufReadPost * if line("'/"") > 1 &&line("'/"") <= line("$") | exe "normal!g'/"" | endif endif " Uncomment the following to have Vim load indentation rules andplugins " according to the detected filetype. if has("autocmd") filetype plugin indent on endif " The following are commented out as they cause vim to behave a lot " differently from regular Vi. They are highly recommended though. set showcmd        " Show (partial)command in status line. set showmatch        " Show matchingbrackets. set ignorecase        " Do caseinsensitive matching set smartcase        " Do smart casematching set incsearch        " Incrementalsearch set autowrite        " Automaticallysave before commands like :next and :make set hidden          "Hide buffers when they are abandoned set mouse=a            "Enable mouse usage (all modes) """""""""""""""""""""""""""""""""""""" " 语法着色与高亮设置 """"""""""""""""""""""""""""""""""""""" " " "开启语法高亮 syntax enable syntax on " " "配色 colorscheme murphy " "设置高亮搜索 set hlsearch " """"""""""""""""""""""""""""""""""""""" " " 文件设置 """"""""""""""""""""""""""""""""""""""" " set encoding=utf-8 set fileencoding=chinese set fileencodings=ucs-bom,utf-8,chinese set ambiwidth=double " " "检测文件的类型 filetype on" "默认无备份 set nobackup set nowritebackup " """"""""""""""""""""""""""""""""""""""" " " 鼠标设置 """"""""""""""""""""""""""""""""""""""" " "鼠标支持 if has('mouse') set mouse=a endif " " "使鼠标用起来象微软 Windows,似乎正好解决连续多行缩进问题、退格问题 behave mswin " """"""""""""""""""""""""""""""""""""""" " " 编辑器设置 """"""""""""""""""""""""""""""""""""""" " "显示行号 set number " "Tab 宽度 set ts=4 " " "自动缩进 set sw=4 " " "C/C++ 风格的自动缩进 set cin " "设定 C/C++ 风格自动缩进的选项 set cino=:0g0t0(sus " " "打开普通文件类型的自动缩进 set ai " " "在编辑过程中,在右下角显示光标位置的状态行 set ruler " " "显示匹配括号 set showmatch " " "在insert模式下能用删除键进行删除 set backspace=indent,eol,start " " "代码折叠, 命令 za set foldmethod=syntax set foldlevel=100  "启动vim时不要自动折叠代码 " " "设置字体 set guifont=文泉驿等宽微米黑/ 13 " " "当右键单击窗口的时候,弹出快捷菜单 set mousemodel=popup " " "自动换行 if (has("gui_running")) "图形界面下的设置 " " "指定不折行。如果一行太长,超过屏幕宽度,则向右边延伸到屏幕外面 set nowrap " "添加水平滚动条。如果你指定了不折行,那为窗口添加一个水平滚动条就非常有必要 " 了 set guioptions+=b " " else "字符界面下的设置 set wrap endif " """"""""""""""""""""""""""""""""""""""" " " 快捷键设置 """"""""""""""""""""""""""""""""""""""" " "<F1> 菜单栏与工具栏隐藏与显示动态切换 " set guioptions-=m " set guioptions-=T " map <silent> <F1> :if &guioptions =~# 'T'<Bar> " /set guioptions-=T <Bar> " /set guioptions-=m <bar> " /else <Bar> " /set guioptions+=T <Bar> " /set guioptions+=m <Bar> " /endif<CR> " " "<F2>code_complete.vim插件:函数自动完成 if !exists("g:completekey") let g:completekey = "<F2>"   "hotkey endif " " "<F3><F4>大小写转换 " map <F3> gu " map <F4> gU " " "当前目录生成tags语法文件,用于自动完成,函数提示:code_complete.vim "OmniCppComplete.vim ... map <F5> :!ctags -R --c-kinds=+p --fields=+S . <CR> map <F5> :!ctags -R --c-kinds=+p --c++-kinds=+p --fields=+iaS--extra=+q . "<CR> " " "函数和变量列表 map <F6> :TlistToggle<CR> " " "文件浏览器 map <F7> :WMToggle<CR> let g:winManagerWindowLayout = "FileExplorer" " " "文件树状列表 map <F8> :NERDTree<CR> " " "映射复制、粘贴、剪贴ctrl+c ctrl+v ctrl+x map <C-V> "+pa<Esc> map! <C-V> <Esc>"+pa map <C-C> "+y map <C-X> "+x " " " 映射全选 ctrl+a map <C-A> ggVG map! <C-A> <Esc>ggVG " " " 多行缩进 map <Tab> > map <S-Tab> < " """"""""""""""""""""""""""""""""""""""" " " 插件设置 """"""""""""""""""""""""""""""""""""""" " " "开启OmniCppComplete.vim set nocp filetype plugin on " " "2Html插件,启用XHtml CSS " :let html_number_lines=1 " :let html_use_css=1 " :let use_xhtml=1 " " "fencview.vim 插件设置 let g:fencview_autodetect = 1  "打开文件时自动识别编码 let g:fencview_checklines = 10 "检查前后10行来判断编码 " "autocomplpop.vim & supertab.vim 插件设置 let g:AutoComplPop_IgnoreCaSEOption=1 set ignorecase " """"""""""""""""""""""""""""""""""""""" " " 其他设置 """"""""""""""""""""""""""""""""""""""" " " "去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限 set nocompatible "使用taglist let Tlist_Show_One_File=1 let Tlist_Exit_OnlyWindow=1 "使用C.vim filetype plugin on "所有用户使用vim功能一样 set nu "设置自动补齐 filetype plugin indent on set completeopt=longest,menu if has("autocmd") && exists("+omnifunc")      autocmd Filetype *    / if &omnifunc == "" |    /   setlocal omnifunc=syntaxcomplete#Complete |    / endif endif let g:SuperTabDefaultCompletionType="<C-X><C-]>" " 设置按下<Tab>后默认的补全方式, 默认是<C-P>, " 现在改为<C-X><C-L>(其为根据自己定义的结构体自动补齐). " 关于<C-P>的补全方式, " 还有其他的补全方式, 你可以看看下面的一些帮助: " :help ins-completion " :help compl-omni let g:SuperTabRetainCompletionType=2 " 0 - 不记录上次的补全方式 " 1 - 记住上次的补全方式,直到用其他的补全命令改变它 " 2 - 记住上次的补全方式,直到按ESC退出插入模式为止 " Source a global configuration file if available if filereadable("/etc/vim/vimrc.local")   source /etc/vim/vimrc.local 

endif 

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""新文件标题"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""新建.c,.h,.sh,.java文件,自动插入文件头 autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java exec ":call SetTitle()" ""定义函数SetTitle,自动插入文件头 func SetTitle()     "如果文件类型为.sh文件     if &filetype == 'sh'         call setline(1,"/#########################################################################")         call append(line("."), "/# File Name: ".expand("%"))         call append(line(".")+1, "/# Author: ma6174")         call append(line(".")+2, "/# mail: ma6174@163.com")         call append(line(".")+3, "/# Created Time: ".strftime("%c"))         call append(line(".")+4, "/#########################################################################")         call append(line(".")+5, "/#!/bin/bash")         call append(line(".")+6, "")     else         call setline(1, "/*************************************************************************")         call append(line("."), "    > File Name: ".expand("%"))         call append(line(".")+1, "    > Author: ma6174")         call append(line(".")+2, "    > Mail: ma6174@163.com ")         call append(line(".")+3, "    > Created Time: ".strftime("%c"))         call append(line(".")+4, " ************************************************************************/")         call append(line(".")+5, "")    endif    if &filetype == 'cpp'        call append(line(".")+6, "#include<iostream>")        call append(line(".")+7, "using namespace std;")        call append(line(".")+8, "")    endif    if &filetype == 'c'        call append(line(".")+6, "#include<stdio.h>")        call append(line(".")+7, "")    endif    "新建文件后,自动定位到文件末尾    autocmd BufNewFile * normal Gendfunc 


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表