vim 删除所有空格:%s@\n@@g
vim 将[, ]替换为换行,:%s@, @\r@g



2017-09-23 VIM 配置

[root@CentOS ~]# cat  ~/.vimrc 
"按q快速退出
map q    :q<CR>

"按w保存当前文件
map w    :w<CR>

"按make执行当前文件路径的Makefile文件
map make :! clear; make clean; make<CR>

"高亮行尾的空格
highlight ExtraWhitespace ctermbg=red guibg=red
autocmd BufWinEnter * match ExtraWhitespace /\s\+$\| \+\ze\t\+\|\t\+\zs \+/

"设置ds按键为去除行尾空格
map ds :%s/\s\+$//g<CR>

"设置dm按键为去除行尾的^M标记
map dm %s/\r//g<CR>

"设置33按键为去清空以#开头的行
map 33   :%s/^#.*$//g<CR>

"设置按键将多个空行变为1个空行
map dr   :g/^\s*$\n\s*$/d<CR>

" C 函数高亮  vim /usr/share/vim/vim74/syntax/c.vim
" syn match cFunctions "\<[a-zA-Z_][a-zA-Z_0-9]*\>[^()]*)("me=e-2
" syn match cFunctions "\<[a-zA-Z_][a-zA-Z_0-9]*\>\s*("me=e-1
" hi cFunctions gui=NONE cterm=bold  ctermfg=yellow

"为Oracle 数据库开发 pro*C 程序高亮
autocmd BufEnter *.pc set filetype=esqlc

" 高亮显示当前行/列
"set cursorline
"set cursorcolumn
"highlight CursorLine   cterm=NONE ctermbg=lightblue
"highlight CursorColumn cterm=NONE ctermbg=lightblue


set mouse=a                     "允许在vim中鼠标复制文字内容
set noswapfile                  "不生成.swp文件
set bg=dark                     "字体高亮
set paste                       "粘贴时 禁止自动缩进
set completeopt=menu            "关闭草稿
set nonu                        "不显示行号
set ruler                       "右下角显示光标当前位置
set scrolloff=10                "光标到上下缓冲区边距
set nobackup                    "禁止生成临时文件
set nocindent                   "不使用C风格缩进
set noautoindent                "不使用自动缩进
set shiftwidth=4                "自动缩进字符宽度
set ts=4                        "tab键宽度
set expandtab                   "将tab符转为空格
%retab!                         "对于已保存的文件,将tab转换为空格
set ignorecase                  "搜索时 忽略大小写
syntax on                       "语法高亮
set hls                         "搜索高亮
set nocompatible                "去除兼容vi
set backspace=indent,eol,start  "允许使用退格键
set fileencodings=utf-8,GB18030 "打开文件 支持的字符集



"vim 配色相关配置
"set t_Co=256
"colorscheme molokai
"colorscheme corporation
"colorscheme solarized
"colorscheme morning


" YouCompleteMe相关配置
let g:ycm_server_python_interpreter='/usr/bin/python'
let g:ycm_global_ycm_extra_conf='/root/.vim/.ycm_extra_conf.py'
let g:ycm_show_diagnostics_ui = 1                  " C/C++语法检查提示,1开 0关
let g:ycm_complete_in_comments=1                   " 补全功能在注释中同样有效
let g:ycm_confirm_extra_conf=0                     " 允许 vim 加载 .ycm_extra_conf.py 文件,不再提示
let g:ycm_collect_identifiers_from_tags_files=1    " 开启 YCM 标签补全引擎
let g:ycm_min_num_of_chars_for_completion=1        " 从第一个键入字符就开始罗列匹配项
let g:ycm_cache_omnifunc=0                         " 禁止缓存匹配项,每次都重新生成匹配项
let g:ycm_seed_identifiers_with_syntax=1           " 语法关键字补全
let g:ycm_goto_buffer_command = 'horizontal-split' " 跳转打开上下分屏
map <F2> :YcmCompleter GoToDefinition<CR>
map <F3> :YcmCompleter GoToDeclaration<CR>
map <F4> :YcmCompleter GoToDefinitionElseDeclaration<CR>
map ycm :YcmDiags<CR>


"vundle 插件配置
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'Valloric/YouCompleteMe'
call vundle#end()
filetype plugin indent on

"NERDTree 文件浏览配置
map <F5> :NERDTreeMirror<CR>
map <F5> :NERDTreeToggle<CR>

"NERD_commenter注释插件配置
let mapleader = ","
let NERDSpaceDelims=1           " 让注释符与语句之间留一个空格
let NERDCompactSexyComs=1       " 多行注释时样子更好看
let g:NERDDefaultAlign = 'left'  "将行注释符左对齐
[root@CentOS ~]#






2017-06-15 vim配置

"vim 属性设置
map q    :q<CR>
map w    :w<CR>
map w=   :resize +1<CR>
map w-   :resize -1<CR>
map w,   :vertical resize -1<CR>
map w.   :vertical resize +1<CR>
map make :! clear; make clean; make<CR>
map er   :%s/^#.*$//g<CR>
map sp   :g/^\s*$/d<CR>

autocmd BufEnter *.i set filetype=c


set noswapfile                  "不生成.swp文件
set bg=dark                     "黑色背景
set completeopt=menu            "关闭草稿
set nu                          "显示行号
set paste                       "粘贴时 禁止自动缩进
set ruler                       "右下角显示光标当前位置
set scrolloff=10                "光标到上下缓冲区边距
set nobackup                    "禁止生成临时文件
set nocindent                   "不使用C风格缩进
set noautoindent                "不使用自动缩进
set shiftwidth=4                "自动缩进字符宽度
set ts=4                        "tab键宽度
set expandtab                   "将tab符转为空格
%retab!                         "对于已保存的文件,执行expandtab
set ignorecase                  "搜索时 忽略大小写
syntax on                       "语法高亮
set hls                         "搜索高亮
set bg=dark                     "字体加亮
set nocompatible                "去除兼容vi
set backspace=indent,eol,start  "允许使用退格键
set fileencodings=utf-8,GB18030 "打开文件 支持的字符集


" C 函数高亮
" vim /usr/share/vim/vim74/syntax/c.vim 
" syn match cFunctions "\<[a-zA-Z_][a-zA-Z_0-9]*\>[^()]*)("me=e-2
" syn match cFunctions "\<[a-zA-Z_][a-zA-Z_0-9]*\>\s*("me=e-1
" hi cFunctions gui=NONE cterm=bold  ctermfg=yellow


" 高亮显示当前行/列
"set cursorline
"set cursorcolumn
"highlight CursorLine   cterm=NONE ctermbg=lightblue
"highlight CursorColumn cterm=NONE ctermbg=lightblue


"高亮行尾的空格
highlight ExtraWhitespace ctermbg=red guibg=red
autocmd BufWinEnter * match ExtraWhitespace /\s\+$\| \+\ze\t\+\|\t\+\zs \+/


"设置ds按键为去除行尾空格
map ds :%s/\s\+$//g<CR>


"为Oracle 数据库开发 pro*C 程序高亮
autocmd BufEnter *.pc set filetype=esqlc


"vim 配色相关配置
"set t_Co=256
"colorscheme molokai
"colorscheme corporation
"colorscheme solarized
"colorscheme morning


" YouCompleteMe相关配置
let g:ycm_server_python_interpreter='/usr/bin/python'
let g:ycm_global_ycm_extra_conf='/root/.vim/.ycm_extra_conf.py'
let g:ycm_show_diagnostics_ui = 0                  " C/C++语法检查提示,1开 0关
let g:ycm_complete_in_comments=1                   " 补全功能在注释中同样有效
let g:ycm_confirm_extra_conf=0                     " 允许 vim 加载 .ycm_extra_conf.py 文件,不再提示
let g:ycm_collect_identifiers_from_tags_files=1    " 开启 YCM 标签补全引擎
let g:ycm_min_num_of_chars_for_completion=1        " 从第一个键入字符就开始罗列匹配项
let g:ycm_cache_omnifunc=0                         " 禁止缓存匹配项,每次都重新生成匹配项
let g:ycm_seed_identifiers_with_syntax=1           " 语法关键字补全
let g:ycm_goto_buffer_command = 'horizontal-split' " 跳转打开上下分屏
map <F2> :YcmCompleter GoToDefinition<CR>
map <F3> :YcmCompleter GoToDeclaration<CR>
map <F4> :YcmCompleter GoToDefinitionElseDeclaration<CR>
map ycm :YcmDiags<CR>


"vundle 插件配置
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'Valloric/YouCompleteMe'
call vundle#end()
filetype plugin indent on


"NERDTree 文件浏览配置
map <F5> :NERDTreeMirror<CR>
map <F5> :NERDTreeToggle<CR>


"NERD_commenter注释插件配置
let mapleader = ","
let NERDSpaceDelims=1           " 让注释符与语句之间留一个空格
let NERDCompactSexyComs=1       " 多行注释时样子更好看
let g:NERDDefaultAlign = 'left'  "将行注释符左对齐




我的vim配置

chunli@CentOS~$ cat ~/.vimrc
"vim 属性设置
map q  :q<CR>
map w  :w<CR>
map w= :resize +1<CR>
map w- :resize -1<CR>
map w, :vertical resize -1<CR>
map w. :vertical resize +1<CR>

set noswapfile        "不生成.swp文件
set bg=dark           "黑色背景
set completeopt=menu  "关闭草稿
set nonu              "显示行号
set paste             "粘贴时 禁止自动缩进
set ruler             "右下角显示光标当前位置
set scrolloff=10      "光标到上下缓冲区边距
set nobackup          "禁止生成临时文件
set nocindent         "不使用C风格缩进
set noautoindent      "不使用自动缩进
set shiftwidth=4      "自动缩进字符宽度
set ts=4              "tab键宽度
set expandtab         "将tab符转为空格
%retab!               "对于已保存的文件,执行expandtab
set fencs=utf-8,GB2312 "支持的字符集
set ignorecase        "搜索时 忽略大小写
syntax on             "语法高亮
set hls               "搜索高亮
set bg=dark           "字体加亮
set nocompatible      "去除兼容vi
set backspace=indent,eol,start "允许使用退格键



" 高亮显示当前行/列
set cursorline
set cursorcolumn
highlight CursorLine   cterm=NONE ctermbg=lightblue
highlight CursorColumn cterm=NONE ctermbg=lightblue


"高亮行尾的空格
highlight ExtraWhitespace ctermbg=red guibg=red
autocmd BufWinEnter * match ExtraWhitespace /\s\+$\| \+\ze\t\+\|\t\+\zs \+/

"设置ds按键为去除行尾空格
map ds :%s/\s\+$//g<CR>

"为Oracle 数据库开发 pro*C 程序高亮
autocmd BufEnter *.pc set filetype=esqlc


"vim 配色相关配置
"set t_Co=256
"colorscheme molokai
"colorscheme corporation
"colorscheme solarized
"colorscheme morning


" YouCompleteMe相关配置
let g:ycm_server_python_interpreter='/usr/bin/python'
let g:ycm_global_ycm_extra_conf='~/.vim/.ycm_extra_conf.py'
let g:ycm_show_diagnostics_ui = 0                  "关闭语法提示
let g:ycm_complete_in_comments=1                   " 补全功能在注释中同样有效
let g:ycm_confirm_extra_conf=0                     " 允许 vim 加载 .ycm_extra_conf.py 文件,不再提示
let g:ycm_collect_identifiers_from_tags_files=1    " 开启 YCM 标签补全引擎
let g:ycm_min_num_of_chars_for_completion=1        " 从第一个键入字符就开始罗列匹配项
let g:ycm_cache_omnifunc=0                         " 禁止缓存匹配项,每次都重新生成匹配项
let g:ycm_seed_identifiers_with_syntax=1           " 语法关键字补全
let g:ycm_goto_buffer_command = 'horizontal-split' " 跳转打开上下分屏
map <F2> :YcmCompleter GoToDefinition<CR>
map <F3> :YcmCompleter GoToDeclaration<CR>
map <F4> :YcmCompleter GoToDefinitionElseDeclaration<CR>




"vundle 插件配置
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'Valloric/YouCompleteMe'
call vundle#end()
filetype plugin indent on




"NERDTree 文件浏览配置
map <F5> :NERDTreeMirror<CR>
map <F5> :NERDTreeToggle<CR>
chunli@CentOS~$