Vim 配置详解

首先安装完整版本的VIM 
如果是在Linux下,可以安装VIM-Enhance使其扩展为完整版本的VIM,如果在Windows下,直接安装它的Binary就行了。

当然自己编译安装可能更好些。

安装成功以后就是第二步设置vim 
vim通过一个叫vimrc的文件来进行设置 
默认安装的vim-tiny的设置文件可以在/usr/share/vim中找到,果然极其简洁 
这里我们需要重新定制一个

插播一段 vimrc的存放位置: 
系统 vimrc 文件: "$VIM/vimrc" 
用户 vimrc 文件: "$HOME/.vimrc" 
用户 exrc 文件: "$HOME/.exrc" 
系统 gvimrc 文件: "$VIM/gvimrc" 
用户 gvimrc 文件: "$HOME/.gvimrc" 
系统菜单文件: "$VIMRUNTIME/menu.vim" 
$VIM 预设值: "/usr/share/vim"

下面是网上比较流行的一个版本,可以直接拿来用 
在用戶主目录下建一个文件.vimrc(这是一个隐藏文件),把下面的内容拷贝到这个文件中

vim /home/*/.vimrc                  //*为用户名
再用vim打开程序,就能看到语法高亮以及其他诸多功能 
当然完全可以再在上面进行删改,添加代码折叠啊或是增加一些windows的文件保存快捷方式什么的 
不想麻烦的,下面的直接拿来用就OK了

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" 一般设定 
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" 设定默认解码 
set fenc=utf-8 
set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936

" 不要使用vi的键盘模式,而是vim自己的 
set nocompatible

" history文件中需要记录的行数 
set history=100

" 在处理未保存或只读文件的时候,弹出确认 
set confirm

" 与windows共享剪贴板 
set clipboard+=unnamed

" 侦测文件类型 
filetype on

" 载入文件类型插件 
filetype plugin on

" 为特定文件类型载入相关缩进文件 
filetype indent on

" 保存全局变量 
set viminfo+=!

" 带有如下符号的单词不要被换行分割 
set iskeyword+=_,$,@,%,#,-

" 语法高亮 
syntax on

" 高亮字符,让其不受100列限制 
:highlight OverLength ctermbg=red ctermfg=white guibg=red guifg=white 
:match OverLength '\%101v.*'

" 状态行颜色 
highlight StatusLine guifg=SlateBlue guibg=Yellow 
highlight StatusLineNC guifg=Gray guibg=White

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" 文件设置 
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" 不要备份文件(根据自己需要取舍) 
set nobackup

" 不要生成swap文件,当buffer被丢弃的时候隐藏它 
setlocal noswapfile 
set bufhidden=hide

" 字符间插入的像素行数目 
set linespace=0

" 增强模式中的命令行自动完成操作 
set wildmenu

" 在状态行上显示光标所在位置的行号和列号 
set ruler 
set rulerformat=%20(%2*%<%f%=\ %m%r\ %3l\ %c\ %p%%%)

" 命令行(在状态行下)的高度,默认为1,这里是2 
set cmdheight=2

" 使回格键(backspace)正常处理indent, eol, start等 
set backspace=2

" 允许backspace和光标键跨越行边界 
set whichwrap+=<,>,h,l

" 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位) 
set mouse=a 
set selection=exclusive 
set selectmode=mouse,key

" 启动的时候不显示那个援助索马里儿童的提示 
set shortmess=atI

" 通过使用: commands命令,告诉我们文件的哪一行被改变过 
set report=0

" 不让vim发出讨厌的滴滴声 
set noerrorbells

" 在被分割的窗口间显示空白,便于阅读 
set fillchars=vert:\ ,stl:\ ,stlnc:\

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" 搜索和匹配 
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" 高亮显示匹配的括号 
set showmatch

" 匹配括号高亮的时间(单位是十分之一秒) 
set matchtime=5

" 在搜索的时候忽略大小写 
set ignorecase

" 不要高亮被搜索的句子(phrases) 
set nohlsearch

" 在搜索时,输入的词句的逐字符高亮(类似firefox的搜索) 
set incsearch

" 输入:set list命令是应该显示些啥? 
set listchars=tab:\|\ ,trail:.,extends:>,precedes:<,eol:$

" 光标移动到buffer的顶部和底部时保持3行距离 
set scrolloff=3

" 不要闪烁 
set novisualbell

" 我的状态行显示的内容(包括文件类型和解码) 
set statusline=%F%m%r%h%w\[POS=%l,%v][%p%%]\%{strftime(\"%d/%m/%y\ -\ %H:%M\")}

" 总是显示状态行 
set laststatus=2

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" 文本格式和排版 
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" 自动格式化 
set formatoptions=tcrqn

" 继承前一行的缩进方式,特别适用于多行注释 
set autoindent

" 为C程序提供自动缩进 
set smartindent

" 使用C样式的缩进 
set cindent

" 制表符为4 
set tabstop=4

" 统一缩进为4 
set softtabstop=4 
set shiftwidth=4

" 不要用空格代替制表符 
set noexpandtab

" 不要换行 
set nowrap

" 在行和段开始处使用制表符 
set smarttab

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" CTags的设定 
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" 按照名称排序 
let Tlist_Sort_Type = "name"

" 在右侧显示窗口 
let Tlist_Use_Right_Window = 1

" 压缩方式 
let Tlist_Compart_Format = 1

" 如果只有一个buffer,kill窗口也kill掉buffer 
let Tlist_Exist_OnlyWindow = 1

" 不要关闭其他文件的tags 
let Tlist_File_Fold_Auto_Close = 0

" 不要显示折叠树 
let Tlist_Enable_Fold_Column = 0

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" Autocommands 
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
" 只在下列文件类型被侦测到的时候显示行号,普通文本文件不显示

if has("autocmd") 
autocmd FileType xml,html,c,cs,java,perl,shell,bash,cpp,python,vim,php,ruby set number 
autocmd FileType xml,html vmap <C-o> <ESC>'<i<!--<ESC>o<ESC>'>o--> 
autocmd FileType java,c,cpp,cs vmap <C-o> <ESC>'<o 
autocmd FileType html,text,php,vim,c,java,xml,bash,shell,perl,python setlocal textwidth=100 
autocmd Filetype html,xml,xsl source $VIMRUNTIME/plugin/closetag.vim 
autocmd BufReadPost * 
\ if line("'\"") > 0 && line("'\"") <= line("$") | 
\ exe " normal g`\"" | 
\ endif 
endif "has("autocmd")

" F5编译和运行C程序,F6编译和运行C++程序 
" 请注意,下述代码在windows下使用会报错 
" 需要去掉./这两个字符

" C的编译和运行 
map <F5> :call CompileRunGcc()<CR> 
func! CompileRunGcc() 
exec "w" 
exec "!gcc % -o %<" 
exec "! ./%<" 
endfunc

" C++的编译和运行 
map <F6> :call CompileRunGpp()<CR> 
func! CompileRunGpp() 
exec "w" 
exec "!g++ % -o %<" 
exec "! ./%<" 
endfunc

" 能够漂亮地显示.NFO文件 
set encoding=utf-8 
function! SetFileEncodings(encodings) 
let b:myfileencodingsbak=&fileencodings 
let &fileencodings=a:encodings 
endfunction 
function! RestoreFileEncodings() 
let &fileencodings=b:myfileencodingsbak 
unlet b:myfileencodingsbak 
endfunction

au BufReadPre *.nfo call SetFileEncodings('cp437')|set ambiwidth=single au BufReadPost *.nfo call RestoreFileEncodings()

" 高亮显示普通txt文件(需要txt.vim脚本) 
au BufRead,BufNewFile * setfiletype txt

" 用空格键来开关折叠 
set foldenable 
set foldmethod=manual 
nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc':'zo')<CR>

" minibufexpl插件的一般设置 
let g:miniBufExplMapWindowNavVim = 1 
let g:miniBufExplMapWindowNavArrows = 1 
let g:miniBufExplMapCTabSwitchBufs = 1 
let g:miniBufExplModSelTarget = 1

转载于:https://www.cnblogs.com/mish/archive/2013/04/23/3036901.html

linux 对于Vim配置的方法相关推荐

  1. Linux系统 | vim配置

    Linux系统 | vim配置 配置文件路径如下 fly@fly-vm:~$ cat /etc/vim/vimrc 或者在个人家根目录下新建.vimrc lanfeiy@msil-virtual-ma ...

  2. linux环境变量配置的方法,linux 设置环境变量方法是怎样的?Linux环境变量配置注意事项是什么?...

    linux系统是一种多用户的任务系统,它可以对每个用户都指定特定的用户变量.不同的程序在不同的环境下运行的时候,都需要去对环境变量来做定制,有很多朋友在设置 linux环境变量的时候,不知道如何操作, ...

  3. linux环境变量配置的方法,Linux环境变量配置方法

    Linux上环境变量配置分为设置永久变量和临时变量两种.环境变量设置方法同时要考虑环境Shell类型,不同类型的SHELL设置临时变量方法和设置永久变量对应的配置文件不同.Linux环境变量本身配置过 ...

  4. linux 编辑器vim配置

    1.         基本配置 对vim进行配置的目的: 进行vim配置,可以让我们在后续敲代码更加方便.按F5可以直接编译并执行C.C++代码以及执行shell脚本:按"F8"可 ...

  5. Linux系统vim编辑器使用方法:编辑、保存和退出

    安装vim编辑器: 在终端输入命令: sudo apt-get update sudo apt-get install vim 创建一个文件: cd ~ vim word.txt 通过上面的命令就打开 ...

  6. linux系统硬件配置查看方法

    一:查看cpu more /proc/cpuinfo | grep "model name" grep "model name" /proc/cpuinfo 如 ...

  7. 看linux系统的硬件配置,linux系统硬件配置查看方法

    一:查看cpu more /proc/cpuinfo | grep "model name" grep "model name" /proc/cpuinfo 如 ...

  8. 操作系统:Linux 环境变量配置的 6 种方法!

    Linux环境变量配置 在自定义安装软件的时候,经常需要配置环境变量,下面列举出各种对环境变量的配置方法. 下面所有例子的环境说明如下: 系统:Ubuntu 14.0 用户名:uusama 需要配置M ...

  9. linux使用vim开启文档,linux 配置 直接用VIM默认打开文件

    方法一:主要 是把gedit 默认打开的文件 都改成 vim了 此方法有缺陷.推荐使用 方法二 可以指定 哪种类型文件 用VIM 默认打开.两种方法都实现了 方便打开文件 摆脱了用VIM编码 打开文件 ...

最新文章

  1. 分页打印 PAGE-BREAK-AFTER: always
  2. 【SHARE】WEB前端学习资料
  3. 如何将您的Google Authenticator凭证移至新的Android手机或平板电脑
  4. BeetleX 之 WebApi网关1.5.8发布
  5. Yii2 使用 RESTful 写API接口 实例
  6. java 文本文件 append_java 将字符串下载为文本文件
  7. 结构体嵌套结构体c语言,结构体的相互嵌套
  8. 【Java】@transient代表着什么
  9. 严格的别名规则是什么?
  10. SPSS基础教程:SPSS菜单命令详解
  11. matlab 信号去直流,Speex中的近端信号去直流和预加重操作
  12. CAD一键统计所有线段长度
  13. html - 空格符号 - 字符实体 - 预留字
  14. 冉宝的每日一题--8月13日
  15. 简单描述进程 vs 线程
  16. 4.单片机之静态数码管和动态数码管
  17. 【转】canvas save restore详解(包你懂,绝对不是百度里千篇一律的教程)
  18. 人工智能的本质就是计算机科学,什么是人工智能,这篇文章讲得很透彻!
  19. “笨办法”学Python3,Zed A. Shaw, 习题1~2
  20. hspice2007安装教程(win10)

热门文章

  1. 复数幂用java程序怎么求_蓝桥杯——复数幂 (2018JavaAB组第3题)
  2. 线程导入大数据入库_大数据处理及分析该怎么做?用这款数据分析软件轻松搞定...
  3. 【Elasticsearch】es 7.12 Root mapping definition has unsupported parameters: _all
  4. 【Flink】Flink1.12.0 FlinkSQL消费Kafka 使用 temporal join 关联维表Hive 最新分区数据 join 不上
  5. 【IDEA】idea Gradle 里面java类显示为灰色
  6. 【Elasticsearch】Elasticsearch 7.6 IDEA 源码环境搭建
  7. Queries with streaming sources must be executed with writeStream.start()
  8. 【Nexus3】使用-Nexus3批量上传jar包 artifact upload
  9. JVM :Btrace监控工具
  10. Kudu : 删除了不存在的数据报错 status=Not found: key not found (error 0)