【Tool】我的Gvim配置

来源:互联网 发布:大连育知同创面试 编辑:程序博客网 时间:2024/05/21 11:18

" 关闭兼容模式set nocompatible " 设置编码let &termencoding=&encodingset fileencodings=ucs-bom,utf-8,cp936set encoding=utf-8language messages zh_CN.utf-8 " 转换文件编码:nn <C-u> :set fileencoding=utf-8<CR>:w!<CR>:nn <C-g> :set fileencoding=cp936<CR>:w!<CR> " 显示最近打开文件历史map <M-;> <ESC>:MRU<CR>imap <M-;> <ESC>:MRU<CR> " 设置默认主题colo molokai " 切换主题:nn <M-b> :colorscheme torte<CR>:nn <M-t> :colorscheme default<CR>:nn <M-g> :colorscheme peachpuff<CR>:nn <M-5> :colorscheme molokai<CR>map <M-c><M-b> :ColorSchemeExplorer <cr> " 显示NERDTree树目录map <M-.> :NERDTree<CR><M-`>imap <M-.> <ESC>:NERDTree<CR><M-`> " 设置字体set guifont=Consolas:h13map <M-1> :set guifont=*<CR>map <M-8> :set guifont=Consolas:h12<CR>map <M-7> :set guifont=Consolas:h13<CR>map <M-9> :set guifont=Courier_New:h13<CR> " 设置光标,宽度,是否闪烁set gcr=n-i-v:ver20-blinkon0 set backspace=2              " 设置退格键可用set autoindent               " 自动对齐set ai!                      " 设置自动缩进set smartindent              " 智能自动缩进"set shiftwidth=4            " 换行时行间交错使用4空格set cindent shiftwidth=4     " 自动缩进4空格set nu!                      " 显示行号set mouse=a                  " 启用鼠标 " 右下角显示光标位置的状态行set ruler  set incsearch                " 开启实时搜索功能set hlsearch                 " 开启高亮显示结果set ic                       "忽略大小写"set nowrapscan               " 搜索到文件两端时不重新搜索set wrapset vb t_vb=                 " 关闭提示音set hidden                   " 允许在有未保存的修改时切换缓冲区set autochdir                " 设定文件浏览器目录为当前目录set foldmethod=syntax        " 选择代码折叠类型set foldlevel=100            " 禁止自动折叠 " 开启状态栏信息"map <C-l> :set laststatus=2<CR>"set laststatus=2"set cmdheight=2              " 命令行的高度,默认为1,这里设为2set tabstop=4                " 设置Tab键的宽度        [等同的空格个数] " 启动的时候不显示那个援助索马里儿童的提示"set shortmess=atI " 设置代码提示imap <M-/> <C-p>   " java单行注释map <M-p> <ESC>0i//<ESC> map <M-o> <ESC>0xxi  <ESC> " 设置缓存目录"set directory=c:/TEMP_vim"set backupdir=c:/TEMP_vim" 设置无缓存set nobackup  set nowritebackupset noswapfile " 与windows共享剪贴板set clipboard+=unnamed syntax enable                " 打开语法高亮syntax on                    " 开启文件类型侦测filetype plugin on           " 针对不同的文件类型加载对应的插件filetype plugin indent on    " 启用自动补全filetype indent on           " 针对不同的文件类型采用不同的缩进格式 "shift+F2显示和关闭菜单栏和工具栏"Toggle Menu and Toolbarset guioptions-=m     " 隐藏菜单栏set guioptions-=T      " 隐藏工具栏map <silent> <S-F2> :if &guioptions =~# 'T' <Bar>        \set guioptions-=T <Bar>        \set guioptions-=m <bar>    \else <Bar>        \set guioptions+=T <Bar>        \set guioptions+=m <Bar>    \endif<CR> "窗口设置if has("gui_running")    au GUIEnter * simalt ~x  " 窗口启动时自动最大化    winpos 200 100            " 指定窗口出现的位置,坐标原点在屏幕左上角    set lines=31 columns=88 " 指定窗口大小,lines为高度,columns为宽度    set showtabline=2       " 显示Tab栏    set guitablabel=%t        "标签只显示名称"    set tabpagemax=20    set guioptions-=L       " 隐藏左侧滚动条"    set guioptions-=r       " 隐藏右侧滚动条    set guioptions-=b       " 隐藏底部滚动条endif " 取消高亮:nn <F6> :nohlsearch<CR>" Frame之间的切换map <C-h> <C-w>hmap <C-l> <C-w>lmap <C-k> kmap <C-j> j:imap <C-h> <ESC><C-w>h:imap <C-l> <ESC><C-w>l:imap <C-k> <ESC>k:imap <C-j> <ESC>j" 正常模式下 tab切换和关闭:nn <M-n> :tabnew<CR>:nn <M-h> :tabfirst<CR>:nn <M-l> :tablast<CR>:nn <M-k> :tabnext<CR>:nn <M-j> :tabpre<CR>:nn <M-w> :q<CR>:nn <M-q> :q!<CR> " 插入模式下 tab切换和关闭:imap <F6> <ESC>:nohlsearch<CR>:imap <M-n> <ESC>:tabnew<CR>:imap <M-h> <ESC>:tabfirst<CR>:imap <M-h> <ESC>:tabfirst<CR>:imap <M-l> <ESC>:tablast<CR>:imap <M-k> <ESC>:tabnext<CR>:imap <M-j> <ESC>:tabpre<CR>:imap <M-w> <ESC>:q<CR>:imap <M-q> <ESC> :q!<CR> " 翻页" 下翻map <M-4> <C-f> imap <M-4> <ESC><C-f> map <M-,> <C-f> imap <M-,> <ESC><C-f> " 上翻map <M-3> <C-b>imap <M-3> <ESC><C-b>map <M-i> <C-b>imap <M-i> <ESC><C-b> " 正常情况下全部选中nmap <C-a> ggvG$ " 选中模式下复制到系统剪贴板vmap <C-c> "+yvmap <M-c> "+y" 从系统剪贴板粘贴nmap <C-v> "+pnmap <M-v> "+p " 保存文件map <M-s> :w<CR>map <M-a> :wa<CR>imap <M-s> <ESC>:w<CR>limap <M-a> <ESC>:wa<CR>map <M-Space> <ESC>:w<CR>imap <M-Space> <ESC>:w<CR>l " 失去焦点自动保存"au FocusLost * :wa"au FocusLost * silent! up  " 得到焦点自动保存"au FocusGained * :wa"au FocusGained * silent! w  "au WinEnter *  :wa"au WinLeave * :wa"au TabEnter * :wa"au TabLeave * :wa  " 读文件时自动设定当前目录为刚读入文件所在的目录autocmd BufReadPost * cd %:p:h " 当文件在外部被修改时自动重新载入if exists("&autoread")    set autoreadendif  "设置与vim相关目录位置if has("win32")    let $VIMFILES = $VIM.'/vimfiles'    let $V = $VIM.'/_vimrc'else    let $VIMFILES = $HOME.'/.vim'    let $V = $HOME.'/.vimrc'endif " 恢复上次阅读现场,上次读到哪了autocmd BufWinLeave * if expand('%') != '' && &buftype == '' | mkview | endifautocmd BufRead     * if expand('%') != '' && &buftype == '' | silent loadview | syntax on | endif  " 重启后撤销历史可用 persistent undo set undofileset undodir=$VIMFILES/\_undodirset undolevels=1000 "maximum number of changes that can be undone " 通过cmd运行本文件,适用于bat,com文件map <F11> :!start %<CR> " 启用cmd,并跳转到当前文件所在目录map <M-F11> :!start<CR> "设置行号map <S-F3> :set nu!<CR>map <M-`> :set nu!<CR> " 当出现乱码,去掉^M,并自动换行noremap <M-F6> mmHmt:%s/<C-V><cr>/\r/ge<cr>'tzt'm  " 比较文件  nnoremap <C-F2> :vert diffsplit  " 高亮显示普通txt文件(需要txt.vim脚本)au BufRead,BufNewFile *  setfiletype txt






原创粉丝点击