博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UNBUNTU 下修改VIM支持C程序设计
阅读量:2396 次
发布时间:2019-05-10

本文共 3061 字,大约阅读时间需要 10 分钟。

转载自:http://z-redsky.blog.163.com/blog/static/449861622011510586955/

如果是在UBUNTU10.4或者10.10下出现VIM按上下左右键出现字母的情况,请卸载原先的不完全VIM版本,安装新版本。

一.执行命令 sudo apt-get remove vim-common

二.执行命令 sudo apt-get install vim

/etc/vim/vimrc修改添加下面内容

""""""""""""""""""""""""""""""""""""""
" 语法着色与高亮设置
""""""""""""""""""""""""""""""""""""""
"开启语法高亮
syntax enable
syntax on
"配色
"colo ruki
"colors ruki
"由于目前没有找到ruki插件,暂时取消该功能,找到该插件后,再启用该功能
"设置高亮搜索
: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=courier\ 9
"当右键单击窗口的时候, 弹出快捷菜单
: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

你可能感兴趣的文章
Oracle--DML触发器
查看>>
Oracle--替代触发器(INSTEAD OF)
查看>>
Oracle--系统事件触发器、用户事件触发器
查看>>
Oracle--管理触发器(查看、启用/禁用、修改、删除)
查看>>
Oracle--事务详解
查看>>
Oracle--锁(概述、分类)
查看>>
Oracle--加锁的方法
查看>>
Lambda表达式语法
查看>>
Lambda函数式接口
查看>>
Lambda方法引用、构造器引用、闭包
查看>>
Lambda表达式使用场景及实例
查看>>
Docker概述
查看>>
Docker--基本组成
查看>>
Docker--Mac下配置阿里云容器镜像、测试运行hello-world镜像
查看>>
数据结构--循环双链表实现、详解
查看>>
数据结构--优先队列实现、模拟线程调度
查看>>
Java并发--Java中的13个原子操作类详解
查看>>
Java并发--同步锁Lock
查看>>
数据结构--串的实现
查看>>
Java并发--数据依赖性、as-if-aerial、程序顺序规则、重排序对多线程的影响
查看>>