Last active
August 7, 2017 11:55
-
-
Save inkydragon/24ca66165467f510f5b90146fe1b4d45 to your computer and use it in GitHub Desktop.
vim/gvim设置
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
" From zhihu https://www.zhihu.com/question/19637905 | |
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | |
" 文本编码设置 | |
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | |
" encoding: Vim 内部使用的字符编码方式,包括 Vim 的 buffer (缓冲区)、菜单文 | |
" 本、消息文本等。用户手册上建议只在 .vimrc 中改变它的值。 | |
set encoding=utf-8 | |
" fileencodings: Vim 启动时会按照它所列出的字符编码方式逐一探测即将打开的文 | |
" 件的字符编码方式,并且将 fileencoding 设置为最终探测到的字符编码方式。因 | |
" 此最好将 Unicode 编码方式放到这个列表的最前面。 | |
set fileencodings=utf-8,chinese | |
" fileencoding: Vim 中当前编辑的文件的字符编码方式,Vim 保存文件时也会将文 | |
" 件保存为这种字符编码方式。 | |
set fileencoding=utf-8 | |
" termencoding: Vim 所工作的终端 (或者 Windows 的 Console 窗口) 的字符编码 | |
" 方式。这个选项对 GUI 模式的 gVim 无效 | |
" | |
" 下面这句只影响普通模式 (非图形界面) 下的 Vim。 | |
let &termencoding=&encoding | |
"解决consle输出乱码 | |
language messages zh_CN.utf-8 | |
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | |
" 高亮设置 配色 | |
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | |
" 搜索高亮 | |
set hlsearch | |
set incsearch | |
" 搜索时大小写不敏感 | |
set ignorecase | |
" 关闭兼容模式 | |
set nocompatible | |
" vim 自身命令行模式智能补全 | |
set wildmenu | |
" 高亮显示当前行/列 | |
set cursorline | |
set cursorcolumn | |
" 显示光标当前位置 | |
set ruler | |
" 显示行号 | |
set number | |
" 开启语法高亮功能 | |
syntax enable | |
" 允许用指定语法高亮配色方案替换默认方案 | |
syntax on | |
" 配色方案 | |
set background=dark | |
colorscheme turtles | |
"colorscheme solarized | |
"colorscheme molokai | |
"colorscheme phd | |
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | |
" 设置 Tab 缩进空格数 | |
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | |
" 自适应不同语言的智能缩进 | |
filetype indent on | |
" 将制表符扩展为空格 | |
set expandtab | |
" 设置编辑时制表符占用空格数 | |
set tabstop=2 | |
" 设置格式化时制表符占用空格数 | |
set shiftwidth=2 | |
" 让 vim 把连续数量的空格视为一个制表符 | |
set softtabstop=2 | |
""""可视化缩进 | |
" 随 vim 自启动 | |
let g:indent_guides_enable_on_vim_startup=1 | |
" 从第二层开始可视化显示缩进 | |
let g:indent_guides_start_level=2 | |
" 色块宽度 | |
let g:indent_guides_guide_size=1 | |
" 快捷键 i 开/关缩进可视化 | |
:nmap <silent> <Leader>i <Plug>IndentGuidesToggle | |
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | |
" 设置图形界面。 | |
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | |
if has("gui_running") | |
if has("win32") | |
" 设定 windows 下 gvim 启动时最大化 | |
autocmd GUIEnter * simalt ~x | |
" 设定 windows 下图形界面下的字体。 | |
set guifont=Fixedsys:h13 | |
"配色 | |
colo darkblue | |
else | |
" 设定 linux 下图形界面下的字体,该字体 Fedora 7 自带 | |
set guifont=DejaVu\ LGC\ Sans\ Mono\ 14 | |
"colo darkblue | |
endif | |
endif | |
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | |
" Vim as IDE | |
" From: https://github.com/yangyangwithgnu/use_vim_as_ide | |
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" | |
" 让配置变更立即生效 | |
autocmd BufWritePost $MYVIMRC source $MYVIMRC | |
" 定义快捷键的前缀,即<Leader> | |
let mapleader=";" | |
" 开启文件类型侦测 | |
filetype on | |
" 根据侦测到的不同类型加载对应的插件 | |
filetype plugin on | |
""""""""""""""""""""""""""""""""""""""" " 快捷键 | |
" 定义快捷键到行首和行尾 | |
nmap LB 0 | |
nmap LE $ | |
" 设置快捷键将选中文本块复制至系统剪贴板 | |
vnoremap <Leader>y "+y | |
" 设置快捷键将系统剪贴板内容粘贴至 vim | |
nmap <Leader>p "+p | |
" 定义快捷键关闭当前分割窗口 | |
nmap <Leader>q :q<CR> | |
" 定义快捷键保存当前窗口内容 | |
nmap <Leader>w :w<CR> | |
" 定义快捷键保存所有窗口内容并退出 vim | |
nmap <Leader>WQ :wa<CR>:q<CR> | |
" 不做任何保存,直接退出 vim | |
nmap <Leader>Q :qa!<CR> | |
" 依次遍历子窗口 | |
nnoremap nw <C-W><C-W> | |
" 跳转至右方的窗口 | |
nnoremap <Leader>lw <C-W>l | |
" 跳转至左方的窗口 | |
nnoremap <Leader>hw <C-W>h | |
" 跳转至上方的子窗口 | |
nnoremap <Leader>kw <C-W>k | |
" 跳转至下方的子窗口 | |
nnoremap <Leader>jw <C-W>j | |
" 定义快捷键在结对符之间跳转 | |
nmap <Leader>M % | |
""""""""" vundle 环境设置 | |
filetype off | |
set rtp+=~/.vim/bundle/Vundle.vim | |
" vundle 管理的插件列表必须位于 vundle#begin() 和 vundle#end() 之间 | |
call vundle#begin() | |
Plugin 'VundleVim/Vundle.vim' | |
"""""" colo 配色 | |
Plugin 'altercation/vim-colors-solarized' | |
Plugin 'tomasr/molokai' | |
Plugin 'vim-scripts/phd' | |
" Vundle | |
Plugin 'beigebrucewayne/Turtles' | |
"" 状态栏美化 | |
Plugin 'Lokaltog/vim-powerline' | |
"Plugin 'octol/vim-cpp-enhanced-highlight' | |
"" 可视化缩进 | |
Plugin 'nathanaelkane/vim-indent-guides' | |
"Plugin 'derekwyatt/vim-fswitch' | |
"Plugin 'kshenoy/vim-signature' | |
"Plugin 'vim-scripts/BOOKMARKS--Mark-and-Highlight-Full-Lines' | |
"Plugin 'majutsushi/tagbar' | |
"Plugin 'vim-scripts/indexer.tar.gz' | |
"Plugin 'vim-scripts/DfrankUtil' | |
"Plugin 'vim-scripts/vimprj' | |
"" 带上下文的搜索 | |
Plugin 'dyng/ctrlsf.vim' | |
"Plugin 'terryma/vim-multiple-cursors' | |
"Plugin 'scrooloose/nerdcommenter' | |
"Plugin 'vim-scripts/DrawIt' | |
"Plugin 'SirVer/ultisnips' | |
"" 智能补全 | |
"Plugin 'Valloric/YouCompleteMe' | |
"Plugin 'derekwyatt/vim-protodef' | |
"Plugin 'scrooloose/nerdtree' | |
"Plugin 'fholgado/minibufexpl.vim' | |
"Plugin 'gcmt/wildfire.vim' | |
"Plugin 'sjl/gundo.vim' | |
"" 快速字母转跳 | |
Plugin 'Lokaltog/vim-easymotion' | |
"" vim + firefox markdown 实时渲染 | |
"Plugin 'suan/vim-instant-markdown' | |
" 插件列表结束 | |
call vundle#end() | |
filetype plugin indent on | |
"""""""""" vundle set end | |
" 设置状态栏主题风格 | |
let g:Powerline_colorscheme='solarized256' | |
" 禁止光标闪烁 | |
set gcr=a:block-blinkon0 | |
" 禁止显示滚动条 | |
set guioptions-=l | |
set guioptions-=L | |
set guioptions-=r | |
set guioptions-=R | |
" 禁止显示菜单和工具条 | |
set guioptions-=m | |
set guioptions-=T | |
" 总是显示状态栏 | |
set laststatus=2 | |
" 使用 ctrlsf.vim 插件在工程内全局查找光标所在关键字,设置快捷键。快捷键速记法:search in project | |
nnoremap <Leader>sp :CtrlSF<CR> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment