用户 vimrc 文件: "$HOME/.vimrc"

" vimrc by lewiyon@hotmail.com
" last update 2013-10-29 " 判断操作系统
if (has("win32")||has("win64")||has("win32unix"))
let g:isWin=1
else
let g:isWin=0
endif " ----------------------------------------------------------
" 常用格式
" ----------------------------------------------------------
" 习惯用“:”作为命令前缀
" let mapleader=","
" 快捷加载vimrc文件
" map <leader>ss :source $HOME/.vimrc<cr>
" 快捷打开编辑vimrc文件
" map <silent> <leader>ee :e $HOME/.vimrc<cr>
" autocmd! bufwritepost *.vimrc source $HOME/.vimrc
" 设置行号
set nu
" tab转化为4个字符
set expandtab
set smarttab
set shiftwidth=4
set tabstop=4
set softtabstop=4
" 恢复上次文件打开位置
" set viminfo='10,\"100,:20,%,n~/.viminfo
if has("autocmd")
autocmd BufReadPost *
\ if line("'\"") > 0 | if line("'\"") <= line("$") |
\ exe("norm '\"") | else|exe "norm $"|
\ endif | endif
endif " 关闭兼容模式
set nocompatible
" 语法高亮
syntax enable
" syntax off
" 文件类型插件
filetype plugin on
filetype indent on
set autoindent
autocmd BufEnter * :syntax sync fromstart
" 显示命令
set showcmd
" 高亮搜索
set hlsearch
" 设置当前行高亮
set nocursorline
" 不使用swp文件
set noswapfile
" 设置记录历史条数
set history=200
" ----------------------------------------------------------
" 断行设置
" ----------------------------------------------------------
" 设置光标超过80时折行
" set tw=80
" 第80列往后加下划线
au BufWinEnter * let w:m2=matchadd('Underlined', '\%>' . 80 . 'v.\+', -1) " ----------------------------------------------------------
" C/C++ 编码设置
" ----------------------------------------------------------
" 设置VIM对文件类型敏感
filetype on
" 设置c缩进风格
autocmd FileType c,cpp,h :setlocal cindent cinoptions=:0,g0,t0
" 设置一次缩进的距离是4个空格
autocmd FileType c,cpp,h :setlocal et sta sw=4 sts=4 tabstop=4
" 设置自动缩进
set autoindent
" 设置智能缩进
set smartindent
" 显示括号配对情况
set sm
" 打开C/C++风格的自动缩进
"autocmd FileType c,cpp,cc
" 设置注释格式
set cindent comments=sr:/*,mb:*,el:*/,://
set cin
" 设置缩进风格
" t0 表示函数返回值与函数名不在同一行,0表示返回值前空一格
set cinoptions=>4,n-2,{4,^-2,:2,=2,g0,h2,p5,t0,+2,(0,u0,w1,m1 " ----------------------------------------------------------
" 状态条总是显示:字节数、列数、行数、当前行等信息
" ----------------------------------------------------------
set laststatus=2
set ruler
set statusline=\ %{HasPaste()}%<%-15.25(%f%)%m%r%h\ %w\ \
set statusline+=\ \ \ [%{&ff}/%Y]
set statusline+=\ \ \ %<%20.30(%{hostname()}:%{CurDir()}%)\
set statusline+=%=%-10.(%l,%c%V%)\ %p%%/%L
function! CurDir()
let curdir = substitute(getcwd(), $HOME, "~", "")
return curdir
endfunction function! HasPaste()
if &paste
return '[PASTE]'
else
return ''
endif
endfunction " -----------------------------------------------------------
" 设置字符集
" -----------------------------------------------------------
set encoding=utf8
set termencoding=utf8
set fileencoding=gb19030
set fileencodings=utf8,utf16,gb2312,gb18030,ucs-bom,big5,latin1 fun! ViewUTF8()
set encoding=utf8
set termencoding=gb19030
endfun fun! UTF8()
set encoding=utf8
set termencoding=utf8
set fileencoding=gb18030
set fileencodings=utf8,utf16,gb2312,gb18030,ucs-bom,big5,latin1
endfun

个人VIM配置实例的更多相关文章

  1. 快速学习C语言三: 开发环境, VIM配置, TCP基础,Linux开发基础,Socket开发基础

    上次学了一些C开发相关的工具,这次再配置一下VIM,让开发过程更爽一些. 另外再学一些linux下网络开发的基础,好多人学C也是为了做网络开发. 开发环境 首先得有个Linux环境,有时候家里机器是W ...

  2. sphinx 配置实例

    配置实例 3.1.数据源. 这里我们采用 mysql的数据源.具体情况如下: Mysql server:192.168.1.10 Mysql db :test Mysql 表:test.sphinx_ ...

  3. redis配置实例及redis.conf详细说明

    一.配置实例 1.redis修改持久化路径.日志路径.清缓存 redis修改持久化路径和日志路径 vim  redis.conf logfile /data/redis_cache/logs/redi ...

  4. Linux下双网卡绑定bond配置实例详解

    本文源自:http://blog.itpub.net/31015730/viewspace-2150185/ 一.什么是bond? 网卡bond是通过多张网卡绑定为一个逻辑网卡,实现本地网卡冗余,带宽 ...

  5. 干货 | Keepalived高可用服务配置实例

    一个执着于技术的公众号 Keepalived系列导读 Keepalived入门学习 keepalived安装及配置文件详解 前言 在前面的章节中,我们学习了Keepalived简介.原理.以及Keep ...

  6. acm的ubuntu (ubuntu16.04 安装指南,chrome安装,vim配置,git设置和github,装QQ)

    日常手贱把ubuntu14.04更新到了16.04,然后就game over了.mdzz,不然泥萌也看不到这篇博客了=.= 然后花了些时间重装了一个16.04版的,原来那个14.04的用可以用,就是动 ...

  7. SVN版本库(访问权限)配置实例笔记

    http://blog.csdn.net/zjianbo/article/details/8578297 SVN版本库(访问权限)配置实例笔记 本系列文章由ex_net(张建波)编写,转载请注明出处. ...

  8. 简单快捷好用的vim配置和终端配置推荐

    vim 配置实用spf13-vim,安装方便简单快捷,极力推荐. 另外oh-my-zsh 终端配置很好,与之搭配使用效果更佳. 安装都很简单,一个脚本搞定, 都是在gitHub上开源的,自行搜索,这里 ...

  9. nginx+tomcat+二级域名静态文件分离支持mp4视频播放配置实例

    nginx+tomcat+二级域名静态文件分离支持mp4视频播放配置实例 二级域名配置 在/etc/nginx/conf.d/目录下配置二级域名同名的conf文件,路径改成对应的即可 statics. ...

随机推荐

  1. 设置node服务器的端口及运行环境

    一般来说,node服务器中通常会看到这样的代码: ``` app.set('port', process.env.PORT || 3000); if ( process.env.NODE_ENV == ...

  2. Android Fragment 开发(一)

    最近在学习Fragment 的使用,想弄一个在子窗体中调用父的方法,一直报错,终于找到解决方法啦 父窗体名称:MainActivity 父中有一个public的方法show() 子窗体调用: Main ...

  3. python 使用内置函数sorted对各种数据类型进行排序

    python有两个内置的函数用于实现排序,一个是list.sort()函数,一个是sorted()函数. 区别1:list.sort()函数只能处理list类型数据的排序:sorted()则可以处理多 ...

  4. Django REST framework使用ViewSets的自定义路由实现过程

    在Django中使用基于类的视图(ClassView),类中所定义的方法名称与Http的请求方法相对应,才能基于路由将请求分发(dispatch)到ClassView中的方法进行处理,而Django ...

  5. mybatis基础学习4-插件生成器

    1:安装 2:在所建项目单击右键输入mybatis如下图 *建项目文件时不用建包和类,在配置文件里写即可生成 3:之后在项目生成 自己建的表(这个必须) 单击右键 即可 --------------- ...

  6. 对VC++6.0爱得深沉(三)静态库的制作与使用

    [创建] 1)建立新工程(win32静态库) (2)加入.h文件于.cpp文件如图. 3)编译-构建,生成.lib文件 [使用] 1)新建普通控制台程序 2)打开项目文件夹与刚才生成的库文件夹 3)方 ...

  7. iOS坐标转换失败?UIKit的屠神坑

    使用UIKit的坐标转换方法convertxxx,千万要注意: 一个控件可以转换子控件上的某个点,到另外一个控件上 但是不能转换自己本身的点,到另外一个控件上,否则会数量加倍 所以,一个控件若想转换本 ...

  8. benchmark 库

    性能测试的库 https://github.com/bestiejs/benchmark.js

  9. AP模块发票过账标记为否检查方法

    根据发票编号,查找发票 : 发票过账标记,始终为否,创建会计科目提示如下: 

  10. 关于开发环境中的消息在download时没有下载下来时的问题

    业务场景:在开发环境改了一些代码,现在需要将这些代码(包括class和数据库对象)移植到开发环境,整理出了Objectlist(就是该模块定义了哪些数据库对象),然后上传到FTP服务器上时,再执行do ...