vim大杀器开始玩啦。
# sudo apt-get install software-properties-common
sudo add-apt-repository ppa:jonathonf/vim
sudo apt-get update && sudo apt-get install vim
#在mac 中
brew install vim
#修改配置文件
alias vim='/usr/local/bin/vim'
alias vi='/usr/local/bin/vim'
# 检查是否有clipboard的支持
vim --version | grep clipboard # 如果显示 +clipboard则有,否则无
# 安装vim-gui-common,如果没有+clipboard支持的话
apt install vim-gui-common
# 在windows安装 xming xserver并在xshell配置隧道
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
" 剪贴板设为系统
set clipboard=unnamed
" 打开鼠标控制
set mouse=a
set backspace=2
filetype off " required"
runtime! debian.vim
" 开始插件配置啦
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'ctrlpvim/ctrlp.vim'
Plugin 'majutsushi/tagbar'
Plugin 'scrooloose/nerdtree'
Plugin 'jiangmiao/auto-pairs'
Plugin 'fatih/vim-go'
Plugin 'scrooloose/syntastic'
Plugin 'mileszs/ack.vim'
call vundle#end() " required "
filetype plugin indent on " required "
if has("syntax")
syntax on
endif
" 自动删除多余空格
" From: Vigil <vim5632@rainslide.net>"
function RemoveTrailingWhitespace()
if &ft != "diff"
let b:curcol = col(".")
let b:curline = line(".")
silent! %s/\s\+$//
silent! %s/\(\s*\n\)\+\%$//
call cursor(b:curline, b:curcol)
endif
endfunction
autocmd BufWritePre * call RemoveTrailingWhitespace()
set ts=4
set sw=4
set nu
set autoindent
let mapleader=";"
highlight ExtraWhitespace ctermbg=red guibg=red
autocmd BufWinEnter * match ExtraWhitespace /\s\+$\| \+\ze\t\+\|\t\+\zs \+/
let g:ctrlp_map = '<c-p>'
let g:ctrlp_cmd = 'CtrlP'
let g:ctrlp_custom_ignore = '\v[\/]\.(git|hg|svn|pyc)$'
nmap <F8> :TagbarToggle<CR>
map <F10> :NERDTreeToggle<CR>
let g:NERDTreeWinSize = 20
let NERDTreeIgnore = ['.*\.o$','.*\.ko$','.*\.gz$','.*\.pyc$']
" 设置vim-go跳转定义,;gd
nnoremap <leader>gd :GoDef <CR>
" . 后面自动弹出代码提示
au filetype go inoremap <buffer> . .<C-x><C-o>
" ctrl-z 自动弹出代码提示
imap <c-z> <c-x><c-o>
" 只弹出代码提示,不补全
set completeopt=longest,menuone
" 语法检查插件的配置
let g:syntastic_error_symbol='>>'
let g:syntastic_warning_symbol='>'
let g:syntastic_check_on_open=1
let g:syntastic_check_on_wq=0
let g:syntastic_enable_highlighting=1
let g:syntastic_python_checkers=['pyflakes'] " 使用pyflakes,速度比pylint快
let g:syntastic_javascript_checkers = ['jsl', 'jshint']
let g:syntastic_html_checkers=['tidy', 'jshint']
" 修改高亮的背景色, 适应主题
highlight SyntasticErrorSign guifg=white guibg=black
" to see error location list
let g:syntastic_always_populate_loc_list = 0
let g:syntastic_auto_loc_list = 0
let g:syntastic_loc_list_height = 5
function! ToggleErrors()
let old_last_winnr = winnr('$')
lclose
if old_last_winnr == winnr('$')
" Nothing was closed, open syntastic error location panel
Errors
endif
endfunction
nnoremap <Leader>s :call ToggleErrors()<cr>
"默认打开NERDTree
func StartNerdTree()
if &filetype == 'py'||&filetype == 'python'||&filetype == 'go'
NERDTree
endif
endfunc
autocmd vimenter * call StartNerdTree()
" vim tab,使用 ;1 ;2跳tab
noremap <leader>1 1gt
noremap <leader>2 2gt
noremap <leader>3 3gt
noremap <leader>4 4gt
noremap <leader>5 5gt
noremap <leader>6 6gt
noremap <leader>7 7gt
noremap <leader>8 8gt
noremap <leader>9 9gt
inoremap jj <Esc>
noremap cp yap<S-}>p
noremap <S-l> gt
noremap <S-h> gT
noremap <leader>a =ip
nnoremap <leader>s :w<cr>
inoremap <leader>s <C-c>:w<cr>
cd ~/.vim/bundle/YouCompleteMe/
python install.py
# 如果报cmake
# sudo apt-get install CMake
# 如果报python找不到,安装
# sudo apt-get install vim-nox # vim python支持
# sudo apt-get install python-dev python3-dev
# 如果报c++解释器不支持c++11。装个g++
# apt-get install g++
到YouCompleteMe下,新建
cpp/ycm/.ycm_extra_conf.py
内容
https://github.com/Valloric/ycmd/blob/master/cpp/ycm/.ycm_extra_conf.py
默认检查的是CPP,要检查C需要修改一下。 python项目要加进Pythonpath,否则包可能找不到定义:
export PYTHONPATH=$PYTHONPATH:/home/yzh/yinzihao/workspace/qb_games/
tabnew
tabm
最前 tabr
tabo
gt
新tab打开 c+t
ctrl + w + w 光标自动在左右侧窗口切换
ctrl + w + r 移动当前窗口的布局位置
o 在已有窗口中打开文件、目录或书签,并跳到该窗口
t 在新 Tab 中打开选中文件/书签,并跳到新 Tab
O 递归打开选中 结点下的所有目录
x 合拢选中结点的父目录
X 递归 合拢选中结点下的所有目录
e Edit the current dif
D 删除当前书签
p 跳到父结点
C 将选中目录或选中文件的父目录设为根结点
u 将当前根结点的父目录设为根目录,并变成合拢原根结点
U 将当前根结点的父目录设为根目录,但保持展开原根结点
r 递归刷新选中目录
R 递归刷新根结点
m 显示文件系统菜单
cd 将 CWD 设为选中目录
I 切换是否显示隐藏文件
f 切换是否使用文件过滤器
F 切换是否显示文件
B 切换是否显示书签
q 关闭 NerdTree 窗口
? 切换是否显示 Quick Help