开始之前需要理解一点,不同用户使用vim的时候,会调用各自主目录下的配置文件,因此不同的用户需要在其目录配置参数文件
下面均以root用户为例:
默认情况下配置文件不存在,首先创建
cd ~
touch .vimrc
set nocompatible "关闭与vi的兼容模式
set number "显示行号
set nowrap "不自动折行
set showmatch "显示匹配的括号
set scrolloff=3 "距离顶部和底部3行"
set encoding=utf-8 "编码
set fenc=utf-8 "编码
set mouse=a "启用鼠标
set hlsearch "搜索高亮
syntax on "语法高亮
为py文件添加下支持pep8风格的配置:
au BufNewFile,BufRead *.py
\ set tabstop=4 "tab宽度
\ set softtabstop=4
\ set shiftwidth=4
\ set textwidth=79 "行最大宽度
\ set expandtab "tab替换为空格键
\ set autoindent "自动缩进
\ set fileformat=unix "保存文件格式
参数 | 说明 |
:vs 或者 :vsplit | 将当前窗口竖直分割,并在上面新窗口中显示当前文件 |
:vs filename | 将当前窗口竖直分割,新文件在新窗口中显示 |
:sp 或者:sv或者:split | 将当前窗口水平分割,并在左边新窗口中显示当前文件 |
:sp filename | 将当前窗口竖直分割,新文件在左边新窗口中显示 |
:new | 新建文件并竖直分割 |
:vnew | 新建文件并水平分割 |
set splitbelow
set splitright
Ctrl-w-j 切换到下方的分割窗口
Ctrl-w-k 切换到上方的分割窗口
Ctrl-w-l 切换到右侧的分割窗口
Ctrl-w-h 切换到左侧的分割窗口
将以下配置添加到
~/.vimre
中,既可以在编辑代码之后按F5快速执行
使用说明:编辑完从编辑模式切换到命令模式(ESC),再按F5既可以 执行
""""""""""""""""""""""""
"一键执行代码
""""""""""""""""""""""""
map <F5> :call CompileRunGcc()<CR>
func! CompileRunGcc()
exec "w"
if &filetype == 'c'
exec "!g++ % -o %<"
exec "!time ./%<"
elseif &filetype == 'cpp'
exec "!g++ % -o %<"
exec "!time ./%<"
elseif &filetype == 'java'
exec "!javac %"
exec "!time java %<"
elseif &filetype == 'sh'
:!time bash %
elseif &filetype == 'python'
exec "!time python2.7 %"
elseif &filetype == 'html'
exec "!firefox % &"
elseif &filetype == 'go'
" exec "!go build %<"
exec "!time go run %"
elseif &filetype == 'mkd'
exec "!~/.vim/markdown.pl % > %.html &"
exec "!firefox %.html &"
endif
endfunc
注释:在vim的配置文件内,
"
引号后面的内容为注释内容
Vundle 是 Vim bundle 的简称,使用git来管理vim插件
~/.vim/bundle
目录cd ~
mkdir .vim
cd .vim
mkdir bundle
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
然后将下列配置放在.vimrc文件
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()
" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'
" All of your Plugins must be added before the following line
call vundle#end() " required
filetype plugin indent on " required
如果想下载某个插件,比如自动缩进indentpython.vim插件,需要将
Plugin 'vim-scripts/indentpython.vim'
置于call vundle#begin()
和call vundle#end()
之间,
保存配置后在vim中执行
:PluginInstall
即可以自动下载indentpython.vim插件了。
命令 | 说明 |
:PluginList | 列出已有插件 |
:PluginInstall | 安装插件; 追加 ! 用于升级或者使用 :PluginUpdate 升级 |
:PluginSearch foo | 搜索插件foo; 追加 ! 用来刷新本地缓存 |
:PluginClean | 确认删除未使用的插件; 追加 ! 用于自动确认删除 |
Plugin 'vim-scripts/indentpython.vim'
Plugin 'MarcWeber/vim-addon-mw-utils'
Plugin 'tomtom/tlib_vim'
Plugin 'garbas/vim-snipmate'
" Optional:
Plugin 'honza/vim-snippets'
Plugin 'vim-syntastic/syntastic'