Ubuntu下Vim配置

2024-09-02 22:18
文章标签 配置 ubuntu vim

本文主要是介绍Ubuntu下Vim配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 这几周突然对linux感兴趣。于是装了Ubuntu的虚拟机。在下边自己配置Vim,走了不少弯路。今天算是终于初步配出来了。现将自己的配置的功能简述如下:

    1、实现语法高亮;按照语言格式自动缩进;括号匹配;支持鼠标等基本功能;

    2、安装TagList插件;

    3、自动补全及加速自动补全的插件SuperTab

   注:此过程参考http://blog.csdn.net/wooin/archive/2007/10/31/1858917.aspx

   其中ctags-5.8.tar.gz的安装过程如下: 
 1)到http://ctags.sourceforge.net/下载ctags源码ctags-5.8.tar.gz 
 2)解压并安装 
   命令行:cd ctags-5.8 
   命令行:./configure && make &&make install


    我的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 

这篇关于Ubuntu下Vim配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1131221

相关文章

mysql5.7.15winx64配置全过程

《mysql5.7.15winx64配置全过程》文章详细介绍了MySQL5.7.15免安装版的配置步骤,包括解压安装包、设置环境变量、修改配置文件、初始化数据目录、安装服务、启动数据库、登录及密码修改... 目录前言一、首先下载安装包二、安android装步骤1.第一步解压文件2.配置环境变量3.复制my-

Jenkins的安装与简单配置过程

《Jenkins的安装与简单配置过程》本文简述Jenkins在CentOS7.3上安装流程,包括Java环境配置、RPM包安装、修改JENKINS_HOME路径及权限、启动服务、插件安装与系统管理设置... 目录www.chinasem.cnJenkins安装访问并配置JenkinsJenkins配置邮件通知

Conda国内镜像源及配置过程

《Conda国内镜像源及配置过程》文章介绍Conda镜像源使用方法,涵盖临时指定单个/多个源、永久配置及恢复默认设置,同时说明main(官方稳定)、free(逐渐弃用)、conda-forge(社区更... 目录一、Conda国内镜像源二、Conda临时使用镜像源指定单个源临时指定多个源创建环境时临时指定源

MySQL配置多主复制的实现步骤

《MySQL配置多主复制的实现步骤》多主复制是一种允许多个MySQL服务器同时接受写操作的复制方式,本文就来介绍一下MySQL配置多主复制的实现步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录1. 环境准备2. 配置每台服务器2.1 修改每台服务器的配置文件3. 安装和配置插件4. 启动组复制4.

通过配置nginx访问服务器静态资源的过程

《通过配置nginx访问服务器静态资源的过程》文章介绍了图片存储路径设置、Nginx服务器配置及通过http://192.168.206.170:8007/a.png访问图片的方法,涵盖图片管理与服务... 目录1.图片存储路径2.nginx配置3.访问图片方式总结1.图片存储路径2.nginx配置

nginx配置错误日志的实现步骤

《nginx配置错误日志的实现步骤》配置nginx代理过程中,如果出现错误,需要看日志,可以把nginx日志配置出来,以便快速定位日志问题,下面就来介绍一下nginx配置错误日志的实现步骤,感兴趣的可... 目录前言nginx配置错误日志总结前言在配置nginx代理过程中,如果出现错误,需要看日志,可以把

SpringBoot结合Knife4j进行API分组授权管理配置详解

《SpringBoot结合Knife4j进行API分组授权管理配置详解》在现代的微服务架构中,API文档和授权管理是不可或缺的一部分,本文将介绍如何在SpringBoot应用中集成Knife4j,并进... 目录环境准备配置 Swagger配置 Swagger OpenAPI自定义 Swagger UI 底

Oracle迁移PostgreSQL隐式类型转换配置指南

《Oracle迁移PostgreSQL隐式类型转换配置指南》Oracle迁移PostgreSQL时因类型差异易引发错误,需通过显式/隐式类型转换、转换关系管理及冲突处理解决,并配合验证测试确保数据一致... 目录一、问题背景二、解决方案1. 显式类型转换2. 隐式转换配置三、维护操作1. 转换关系管理2.

IDEA中配置Tomcat全过程

《IDEA中配置Tomcat全过程》文章介绍了在IDEA中配置Tomcat的六步流程,包括添加服务器、配置部署选项、设置应用服务器及启动,并提及Maven依赖可能因约定大于配置导致问题,需检查依赖版本... 目录第一步第二步第三步第四步第五步第六步总结第一步选择这个方框第二步选择+号,找到Tomca

Win10安装Maven与环境变量配置过程

《Win10安装Maven与环境变量配置过程》本文介绍Maven的安装与配置方法,涵盖下载、环境变量设置、本地仓库及镜像配置,指导如何在IDEA中正确配置Maven,适用于Java及其他语言项目的构建... 目录Maven 是什么?一、下载二、安装三、配置环境四、验证测试五、配置本地仓库六、配置国内镜像地址