gvim java_GitHub - jay763190097/gvim-available: gvim编辑器配置

gvim-available

已经安装的插件

auto-pairs

bufexplorer

emmet-vim

javacomplete

nerdtree

tagbar

vim-airline

vim-colorshemes

Vundle.vim

winmanager

已经在vim80中放入了ctags.exe

QQ%E6%88%AA%E5%9B%BE20161208224117.png

判断操作系统是否是 Windows 还是 Linux

let g:iswindows = 0

let g:islinux = 0

if(has("win32") || has("win64") || has("win95") || has("win16"))

let g:iswindows = 1

else

let g:islinux = 1

endif

判断是终端还是 Gvim

if has("gui_running")

let g:isGUI = 1

else

let g:isGUI = 0

endif

常规设置

set nocompatible

set fileencoding=utf-8 "设置当前文件编码

set fileencodings=utf-8,gb2312,gbk,gb18030 "设置支持打开的文件的编码

set termencoding=utf-8

set fileformat=unix

set fileformats=unix,dos

set encoding=utf-8

set langmenu=zh_CN.UTF-8

language message zh_CN.UTF-8

if (g:iswindows && g:isGUI)

"解决菜单乱码

source $VIMRUNTIME/delmenu.vim

source $VIMRUNTIME/menu.vim

"解决consle输出乱码

language messages zh_CN.utf-8

endif

set nu!

filetype off

"set guifont=Consolas:h13

set guifont=Consolas\ for\ Powerline\ FixedD:h13

set tags=tags;

set autochdir

set hidden

set laststatus=2 " 启动显示状态行(1),总是显示状态行(2)

set number " 显示行号

set expandtab " 是否在缩进和遇到Tab键时使用空格代替; 使用noexpandtab取消设置

set autoindent " 自动缩进

set cindent

set confirm

set smartindent "启用智能对齐方式

set softtabstop=4

set tabstop=4 "设置Tab键的宽度,可以更改,如:宽度为2

set shiftwidth=4 "换行时自动缩进宽度,可更改(宽度同tabstop)

set smarttab "指定按一次backspace就删除shiftwidth宽度

set foldenable "启用折叠

set foldmethod=manual "marker 自动折叠方式 indent 折叠方式 manual 手动折叠

" 常规模式下用空格键来开关光标行所在折叠(注:zR 展开所有折叠,zM 关闭所有折叠)

nnoremap @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')

set autoread "当文件在外部被修改,自动更新该文件

set ignorecase "搜索模式里忽略大小写

set smartcase "如果搜索模式包含大写字符,不使用 'ignorecase' 选项,只有在输入搜索模式并且打开

set showcmd "在状态栏显示当前输入的命令

set showmode "显示INSERT NORMAL等

set hlsearch

set incsearch

set paste " 支持外部复制(好像不管用)

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

set history=99 " keep 99 lines of command history

set showmatch " 显示括号配对情况

" 显示/隐藏菜单栏、工具栏、滚动条,可用 Ctrl + F11 切换

if g:isGUI

set guioptions-=m

set guioptions-=T

set guioptions-=r

set guioptions-=L

nmap :if &guioptions =~# 'm'

\set guioptions-=m

\set guioptions-=T

\set guioptions-=r

\set guioptions-=L

\else

\set guioptions+=m

\set guioptions+=T

\set guioptions+=r

\set guioptions+=L

\endif

endif

set shortmess=atI " 去掉启动欢迎界面

set completeopt=preview,menu

set ruler

set cursorline

set autowrite

set magic

set nowrap

set linebreak

set iskeyword+=_,$,@,%,#,-

set backspace=indent,eol,start

set undofile

set mouse=a

set selection=exclusive

set selectmode=mouse,key

" 禁止生成临时文件

set nobackup

set noswapfile

" if has("persistent_undo")

" set undodir = ~/.undodir/

" endif

"autocmd GUIEnter * simalt ~x " windows下启动vim最大化

winpos 100 10

set lines=45 columns=150

if has("autocmd")

au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif

endif

"使用自带补全功能

autocmd FileType python set omnifunc=pythoncomplete#Complete

autocmd FileType javascrīpt set omnifunc=javascrīptcomplete#CompleteJS

autocmd FileType html set omnifunc=htmlcomplete#CompleteTags

autocmd FileType css set omnifunc=csscomplete#CompleteCSS

autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags

autocmd FileType php set omnifunc=phpcomplete#CompletePHP

autocmd FileType c set omnifunc=ccomplete#Complete

插件安装和设置

set rtp+=$VIM/vimfiles/bundle/Vundle.vim/

call vundle#begin('$VIM/vimfiles/bundle/')

"let Vundle manage Vundle, required

Plugin 'gmarik/Vundle.vim'

""""""""vim scripts""""""""""""""""""

Bundle 'winmanager'

""""""""git上的插件"""""""""""""""

Bundle 'scrooloose/nerdtree'

Bundle 'bufexplorer'

"Bundle 'taglist'

Bundle 'majutsushi/tagbar'

Bundle 'vim-airline'

Bundle 'jiangmiao/auto-pairs'

Bundle 'mattn/emmet-vim'

Bundle 'javacomplete'

Bundle 'flazz/vim-colorschemes'

call vundle#end()

filetype on "启用文件类型侦测

filetype plugin on "针对不同的文件类型加载对应的插件

filetype plugin indent on "启用缩进

syntax enable

syntax on

" 设置winmanager

" 设置界面分割

let g:winManagerWindowLayout = "FileExplorer"

"设置winmanager的宽度,默认为25

let g:winManagerWidth = 30

"定义打开关闭winmanager快捷键为F8

nmap :WMToggle

"在进入vim时自动打开winmanager

let g:AutoOpenWinManager = 1

" Tagbar配置

nmap :TagbarToggle

let g:tagbar_ctags_bin = 'ctags'

let g:tagbar_width = 30

" TagList 插件配置

"nmap tl :TagbarClose:Tlist

"let Tlist_Auto_Open=1

"let Tlist_Show_One_File=1 "只显示当前文件的tags

"let Tlist_Enable_Fold_Column=0 "使taglist插件不显示左边的折叠行

"let Tlist_Exit_OnlyWindow=1 "如果Taglist窗口是最后一个窗口则退出Vim

"let Tlist_File_Fold_Auto_Close=1 "自动折叠

"let Tlist_WinWidth=30 "设置窗口宽度

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

" NERDTree plugin

map :NERDTreeMirror

map :NERDTreeToggle

" 设置主题

colorscheme freya

let g:airline_theme="luna"

"这个是安装字体后 必须设置此项"

let g:airline_powerline_fonts = 1

"打开tabline功能,方便查看Buffer和切换,这个功能比较不错"

"我还省去了minibufexpl插件,因为我习惯在1个Tab下用多个buffer"

let g:airline#extensions#tabline#enabled = 1

let g:airline#extensions#tabline#buffer_nr_show = 1

"设置切换Buffer快捷键"

nnoremap :bn

nnoremap :bp

" 关闭状态显示空白符号计数,这个对我用处不大"

let g:airline#extensions#whitespace#enabled = 0

let g:airline#extensions#whitespace#symbol = '!'

if !exists('g:airline_symbols')

let g:airline_symbols = {}

endif

" 箭头图标的显示

" old vim-powerline symbols

let g:airline_left_sep = '⮀'

let g:airline_left_alt_sep = '⮁'

let g:airline_right_sep = '⮂'

let g:airline_right_alt_sep = '⮃'

let g:airline_symbols.branch = '⭠'

let g:airline_symbols.readonly = '⭤'

let g:airline_symbols.linenr = '⭡'

emmet配置

let g:user_emmet_install_global = 0

let g:user_emmet_settings = {

\'html' : {

\ 'indent_blockelement': 1

\}

\}

autocmd FileType html,css,sass,scss,less,php EmmetInstall

javacomplete配置

setlocal omnifunc=javacomplete#Complete

autocmd FileType java set omnifunc=javacomplete#Complete

autocmd FileType java set completefunc=javacomplete#CompleteParamsInf

autocmd FileType java inoremap

gvim是Vim编辑器的图形界面版本,可以像其它图形界面的文本编辑器一样使用鼠标操作。下面是gvim的最全配置和插件: ## 基本配置 ```vim set encoding=utf-8 " 设置编码为UTF-8 set fileencodings=utf-8,gb2312,gbk,gb18030,big5 " 设置文件编码 set fileformats=unix,dos,mac " 设置文件格式 set tabstop=4 " 设置制表符宽度为4个空格 set shiftwidth=4 " 设置缩进宽度为4个空格 set expandtab " 将制表符自动转换为空格 set smartindent " 智能缩进 set number " 显示行号 set cursorline " 高亮当前行 set hlsearch " 高亮搜索结果 set incsearch " 实时搜索 set showmatch " 高亮匹配的括号 set noswapfile " 不生成交换文件 set backup " 生成备份文件 set undofile " 生成撤销文件 set autochdir " 自动切换工作目录 ``` ## 插件管理 可以使用Vim插件管理工具Vundle或者Pathogen进行插件管理,这里以Vundle为例: ```vim " 安装Vundle插件管理器 if !filereadable(expand('~/.vim/bundle/Vundle.vim/autoload.vim')) echo "Installing Vundle" silent !mkdir -p ~/.vim/bundle silent !git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim endif " 设置插件目录 set rtp+=~/.vim/bundle/Vundle.vim " 插件列表 call vundle#begin() Plugin 'VundleVim/Vundle.vim' Plugin 'tpope/vim-fugitive' Plugin 'scrooloose/nerdtree' Plugin 'altercation/vim-colors-solarized' Plugin 'ctrlpvim/ctrlp.vim' Plugin 'jiangmiao/auto-pairs' call vundle#end() ``` ## 插件列表 以下是gvim常用的插件列表: 1. [Vundle](https://github.com/VundleVim/Vundle.vim):插件管理器 2. [vim-fugitive](https://github.com/tpope/vim-fugitive):Git插件 3. [nerdtree](https://github.com/scrooloose/nerdtree):文件浏览器插件 4. [vim-colors-solarized](https://github.com/altercation/vim-colors-solarized):主题插件 5. [ctrlp.vim](https://github.com/ctrlpvim/ctrlp.vim):快速文件搜索插件 6. [auto-pairs](https://github.com/jiangmiao/auto-pairs):自动补全括号插件 以上是gvim最全的配置和插件,你可以根据自己的需求进行配置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值