vim配置
Posted 峰入云
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vim配置相关的知识,希望对你有一定的参考价值。
vim 8.0
安装
git clone https://github.com/vim/vim.git
sudo apt-get install libncurses5-dev # vim依赖一个ncurses的古老库
./configure --prefix=~/usr/vim-8.0/ --enable-pythoninterp --enable-multibyte --enable-rubyinterp
make
make install
查看当前vim环境
:scriptname 查看加载的配置文件
:verbose map [key_name] 查看key_name按键映射
:verbose set 查看所有set,如set paste
:verbose history 查看历史命令
:function [fun-name] 列出函数
F5运行当前脚本
map <F5> :call CompileRunGcc()<CR> func! CompileRunGcc() exec "w" if &filetype == \'c\' :!if gcc % -o %<; then time ./%<; fi elseif &filetype == \'cpp\' :!if g++ % -o %<; then time ./%<; fi elseif &filetype == \'sh\' :!time bash % elseif &filetype == \'python\' :!time python % endif endfunc
Vundle插件管理器
1 下载vundle
git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
2 配置.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() Plugin \'VundleVim/Vundle.vim\' " Keep Plugin commands between vundle#begin/end. call vundle#end() " required filetype plugin indent on " required
vim基本配置
从vim的default.vim中修改的
set nocompatible set backspace=indent,eol,start "Allow backspacing over everything in insert mode. set history=200 " keep 200 lines of command line history set ruler " show the cursor position all the time set showcmd " display incomplete commands set wildmenu " display completion matches in a status line set hlsearch " hightlight searched phase set ttimeout " time out for key codes set ttimeoutlen=100 " wait up to 100ms after Esc for special key set display=truncate " Show @@@ in the last line if it is truncated. set scrolloff=5 "Show a few lines of context around the cursor set incsearch " Do incremental searching when it\'s possible to timeout. set mouse=a set number set expandtab set tabstop=4 set shiftwidth=4 set softtabstop=4 syntax on " Don\'t use Ex mode, use Q for formatting. Revert with ":unmap Q". map Q gq " Only do this part when compiled with support for autocommands. if has("autocmd") " Enable file type detection. " Use the default filetype settings, so that mail gets \'tw\' set to 72, " \'cindent\' is on in C files, etc. " Also load indent files, to automatically do language-dependent indenting. " Revert with ":filetype off". filetype plugin indent on " Put these in an autocmd group, so that you can revert them with: " ":augroup vimStartup | au! | augroup END" augroup vimStartup au! " When editing a file, always jump to the last known cursor position. " Don\'t do it when the position is invalid or when inside an event handler " (happens when dropping a file on gvim). autocmd BufReadPost * \\ if line("\'\\"") >= 1 && line("\'\\"") <= line("$") | \\ exe "normal! g`\\"" | \\ endif augroup END endif " has("autocmd") " Convenient command to see the difference between the current buffer and the " file it was loaded from, thus the changes you made. " Only define it when not defined already. " Revert with: ":delcommand DiffOrig". if !exists(":DiffOrig") command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_ | diffthis \\ | wincmd p | diffthis endif if has(\'langmap\') && exists(\'+langremap\') " Prevent that the langmap option applies to characters that result from a " mapping. If set (default), this may break plugins (but it\'s backward " compatible). set nolangremap endif
YouCompleteMe
- vundlle管理YCM,在.vimrc相应位置加上Plugin \'Valloric/YouCompleteMe\'
- 打开vim,运行:PluginInstall,安装插件
- 进入~/.vim/bundle/YouCompleteMe/,运行./install.py(--clang-completer支持C系列语言补全,需要安装llvm+clang)
可能需要注意:
- vim python support
- git用来下载YCM的问题
- cmake默认编译器的问题(export CC和CXX到高版本的编译器)
以上是关于vim配置的主要内容,如果未能解决你的问题,请参考以下文章