my vim config

本文介绍了一种Vim编辑器的配置方法,包括如何设置编码、文件类型插件、语法高亮等,并展示了如何使用Vundle进行插件管理和自动化配置。此外,还提供了针对不同编程语言如Java、Python等的Omni功能设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

set encoding=utf-8
set nocompatible " be iMproved, required
filetype off " required

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')

" let Vundle manage Vundle, required

" The following are examples of different formats supported.
" Keep Plugin commands between vundle#begin/end.
" plugin on GitHub repo
Plugin 'tpope/vim-fugitive'
" plugin from http://vim-scripts.org/vim/scripts.html
Plugin 'L9'
" Git plugin not hosted on GitHub
Plugin 'git://git.wincent.com/command-t.git'

Bundle 'Valloric/YouCompleteMe'

" git repos on your local machine (i.e. when working on your own plugin)
Plugin 'file:///home/gmarik/path/to/plugin'
" The sparkup vim script is in a subdirectory of this repo called vim.
" Pass the path to set the runtimepath properly.
Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
" Avoid a name conflict with L9
Plugin 'user/L9', {'name': 'newL9'}


" All of your Plugins must be added before the following line
call vundle#end() " required
filetype plugin indent on " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" Brief help
" :PluginList - lists configured plugins
" :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
" :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal
"
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line

autocmd Filetype java set omnifunc=javacomplete#Complete
"setlocal completefunc=javacomplete#CompleteParamsInfo
autocmd FileType python set omnifunc=pythoncomplete#Complete
autocmd FileType javascript set omnifunc=javascriptcomplete#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

inoremap <buffer> <C-X><C-U> <C-X><C-U><C-P>
inoremap <buffer> <C-S-Space> <C-X><C-U><C-P>
autocmd Filetype java inoremap <buffer> . .<C-X><C-O><C-P>
set completeopt=longest,menu
set autoindent
execute pathogen#infect()
call pathogen#helptags()

let g:pydiction_location = '~/.vim/tools/pydiction/complete-dict'
let g:pydiction_menu_height = 8

syntax on
set background=dark
colorscheme solarized

"python folding
set nofoldenable
set cursorline cul
set cursorcolumn
"hi CursorColumn cterm=NONE ctermbg=darkred ctermfg=white guibg=darkred guifg=white
set mouse=a
set number

"不自动换行
set nowrap
"智能对齐方式
set smartindent
"一个tab是4个字符
set tabstop=4
""按一次tab前进4个字符
set softtabstop=4
"显示行号
""缺省不产生备份文件
set nobackup

set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*

let g:syntastic_python_python_exec = '/usr/bin/python'
let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0


"set fillchars+=stl:\ ,stlnc:\
"let g:Powerline_symbols = 'fancy'
"powerline
set guifont=PowerlineSymbols\ for\ Powerline
set nocompatible
set t_Co=256
"let g:Powerline_symbols = 'fancy'
set laststatus=2

map <C-n> :NERDTreeToggle<CR>
"map <silent> <F9> :TlistToggle<CR>
map <C-t> :TlistToggle<CR>
map <C-l> :TagbarToggle<CR>


"settings for python-mode
let ropevim_enable_shotcuts = 1
let g:pymode_rope_goto_def_newwin = "vnew"
let g:pymode_rope_extended_complete = 1
let g:pymode_breakpoint = 0
let g:pymode_syntax = 1
let g:pymode_syntax_builtin_objs = 0
let g:pymode_syntax_builtin_funcs = 0


let g:user_emmet_install_global = 0
autocmd FileType html,css EmmetInstall

let g:nodejs_complete_config = {'js_compl_fn': 'jscomplete#CompleteJS','max_node_compl_len': 15}
silent! call repeat#set("\<Plug>MyWonderfulMap", v:count)
在配置 Vim 编辑器时,常见的设置主要涉及界面、编辑行为、插件管理等方面。以下是常见的配置项及其说明: ### 界面相关设置 为了提高可读性和操作效率,通常会启用行号显示、高亮当前行以及显示匹配括号等功能: ```vim set number " 显示行号 set cursorline " 高亮当前行 set showmatch " 显示匹配的括号 ``` ### 编辑行为设置 为了提升编辑效率,可以设置缩进、自动缩进以及智能缩进等功能: ```vim set tabstop=4 " 设置 Tab 键宽度为 4 个空格 set shiftwidth=4 " 设置自动缩进的空格数为 4 set expandtab " 将 Tab 转换为空格 set autoindent " 自动缩进行 set smartindent " 智能缩进 ``` ### 插件管理 Vim 的插件可以通过 `vim-plug` 进行管理,以下是一个简单的插件安装配置示例: ```vim call plug#begin('~/.vim/plugged') Plug 'scrooloose/nerdtree' " 文件树插件 Plug 'Valloric/YouCompleteMe' " 代码补全插件 call plug#end() ``` ### 状态栏设置 增强状态栏的显示内容,可以更直观地查看当前编辑状态: ```vim set laststatus=2 " 始终显示状态栏 set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%] ``` ### 搜索设置 为了提高搜索效率,可以启用忽略大小写和实时搜索高亮: ```vim set ignorecase " 忽略大小写 set smartcase " 智能大小写 set hlsearch " 高亮搜索结果 ``` 以上配置通常可以放在用户配置文件 `~/.vimrc` 中,该文件仅对当前用户生效。如果希望配置对所有用户生效,则需要修改全局配置文件 `/etc/vim/vimrc` [^1]。 如果使用的是 WSL2 环境,还可以通过安装 Neovim 并配置 Zsh 和 Oh-My-Zsh 来进一步提升体验 [^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值