[메모] ubuntu 13.04 설정 YouComplete Me
syntastic 플러그 인 은 효과 가 좋 지 않 습 니 다. 자주 오보 되 고 카드 도 있 습 니 다.
준비 하 다
1. cmake, python - dev 설치
sudo apt-get install cmake python-dev
2. 최신 VIM 설치
sudo add-apt-repository ppa:nmi/vim-snapshots
sudo apt-get update
sudo apt-get install vim
3. Vundle, Vundle 을 다운로드 하면 vim 플러그 인 을 관리 할 수 있 고 편리 하 며 참고 할 수 있 습 니 다. http://blog.csdn.net/codebistu/article/details/8257138
git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
4. vundle 를 다운로드 한 후 설정 ~ /. vimrc 파일 은 다음 과 같 습 니 다. 그리고 vim 창 을 열 고 명령 을 실행 합 니 다. Bundle Install, vundle 는 자동 으로 네트워크 에 가서 관련 플러그 인 을 다운로드 하고 설치 합 니 다.플러그 인 을 삭제 하 는 것 도 간단 합 니 다. 먼저 ~ /. vimrc 에서 이 플러그 인 항목 을 제거 한 다음 vim 에 들 어가 명령 을 수행 합 니 다: BundleClean.
set nocompatible " be iMproved
Bundle 'scrooloose/syntastic'
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
" let Vundle manage Vundle
" required!
Bundle 'gmarik/vundle'
" My bundles here:
"
" original repos on GitHub
Bundle 'tpope/vim-fugitive'
Bundle 'Lokaltog/vim-easymotion'
Bundle 'rstacruz/sparkup', {'rtp': 'vim/'}
Bundle 'tpope/vim-rails.git'
" vim-scripts repos
Bundle 'L9'
Bundle 'FuzzyFinder'
" non-GitHub repos
Bundle 'git://git.wincent.com/command-t.git'
" Git repos on your local machine (i.e. when working on your own plugin)
Bundle 'file:///Users/gmarik/path/to/plugin'
" ...
Bundle 'Valloric/YouCompleteMe'
filetype plugin indent on " required!
5. LLVM + Clang 의 소스 코드 컴 파일
mkdir ~/llvmsrc
cd ~/llvmsrc
svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
cd ~/llvmsrc/tools
svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
cd ~/llvmsrc/llvm/projects
svn co http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
svn co http://llvm.org/svn/llvm-project/test-suite/trunk test-suite
cd ~/llvmsrc
./llvm/configure --enable-optimized
make
2. 설정, 컴 파일 YouComplete Me 1. 앞에서 vundle 를 사용 하여 YouComplete Me 의 원본 코드 를 다운로드 하 였 습 니 다.2. 컴 파일
mkdir ~/ycm_build
cd ~/ycm_build
cmake -G "Unix Makefiles" ~/.vim/bundle/YouCompleteMe/cpp -DEXTERNAL_LIBCLANG_PATH=~/llvmsrc/llvm/Release+Asserts/lib/libclang.so
make ycm_core
make ycm_support_libs
3. 설정 ~ /. vim / bundle / YouComplete Me / cpp / ycm /. ycmextra_conf.py。- isystem 플래그 를 사용 하여 시스템 의 헤더 파일 을 추가 하여 분석 하고 - I 플래그 는 3 분 의 헤더 파일 을 추가 하여 분석 합 니 다.flags 마지막 에 다음 과 같이 추가:
'-isystem',
'/usr/include',
'-isystem',
'/usr/include/c++/',
'-isystem',
'/usr/include/i386-linux-gnu/c++'
4. 또한 보완 효율 을 높이 기 위해 서 는 Ctags 로 생 성 된 tags 파일 을 유지 하고 ~ /. vimrc 에 let g: ycm 를 추가 할 수 있 습 니 다.collect_identifiers_from_tag_files = 1. 그 중에서 vim 에서 사용: echo tagfiles () 는 현재 사용 하고 있 는 tags 파일 을 볼 수 있 습 니 다.
5. 나의. vimrc 설정 내용:
" vi , bug
set nocompatible
" bundle setting
au GUIEnter * call libcallnr("vimtweak.dll", "SetAlpha", 234)
filetype off " required!
set completeopt-=preview
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
" let Vundle manage Vundle
" required!
Bundle 'gmarik/vundle'
" My bundles here:
" original repos on GitHub
Bundle 'tpope/vim-fugitive'
Bundle 'Lokaltog/vim-easymotion'
Bundle 'rstacruz/sparkup', {'rtp': 'vim/'}
Bundle 'tpope/vim-rails.git'
" vim-scripts repos
Bundle 'L9'
Bundle 'FuzzyFinder'
" non-GitHub repos
Bundle 'git://git.wincent.com/command-t.git'
" Git repos on your local machine (i.e. when working on your own plugin)
Bundle 'file:///Users/gmarik/path/to/plugin'
Bundle 'Valloric/YouCompleteMe'
Bundle 'scrooloose/syntastic'
Bundle 'c.vim'
Bundle 'a.vim'
let g:ycm_collect_identifiers_from_tag_files = 1
let g:syntastic_ignore_files=[".*\.py$"]
let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py'
set backspace=indent,eol,start
set tabstop=4
set shiftwidth=4
set expandtab
set cindent
" ,
set ruler
set showcmd
set hlsearch
set incsearch
set cino=g0:0 " let class's public: don't indent
" F12 run python
map <F12> :!/usr/bin/python %
" map <c-w><c-t> :Tlist<cr>
" map <c-w><c-m> :WMToggle<cr>
" map <c-w><c-f> :FirstExplorerWindow<cr>
" map <c-w><c-b> :BottomExplorerWindow<cr>
":set cscopequickfix=s-,c-,d-,i-,t-,e-
":cs add /home/broom/yeast/trunk/cscope.out /home/broom/yeast/trunk/
" let g:winManagerWindowLayout='FileExplorer|TagList'
":let Tlist_Use_Right_Window=1
":nmap wm :WMToggle<cr>
nnoremap <silent> <F3> :Grep<CR>
"
syntax on
filetype plugin indent on
set viminfo='20,\"50
"
set history=1000
" Only do this part when compiled with support for autocommands
if has("autocmd")
" In text files, always limit the width of text to 78 characters
autocmd BufRead *.txt set tw=78
" When editing a file, always jump to the last cursor position
autocmd BufReadPost *
\ if line("'\"") > 0 && line ("'\"") <= line("$") |
\ exe "normal g'\"" |
\ endif
endif
" set bg=dark
"
set nu
imap <c-w> <Esc>
autocmd FileType ruby,eruby set omnifunc=rubycomplete#Complete
filetype plugin on
"------------------------------------------------------------------------------
function! SET_PYTHON_IDENT()
set shiftwidth=2
set softtabstop=2
set tabstop=2
set backspace=2
set smarttab
endfunction
au FileType python,ruby :call SET_PYTHON_IDENT()
"c-support year date time
let g:C_FormatDate = '%Y-%m-%d'
let g:C_FormatTime = '%H:%M:%S'
let g:C_FormatYear = '%Y'
" Encoding related
set encoding=UTF-8
" set langmenu=zh_CN.UTF-8
" language message zh_CN.UTF-8
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
set fileencoding=utf-8
set t_Co=256
colorscheme desertEx
"colorscheme evening
"colorscheme peaksea
"colorscheme blackboard " Ruby
"colorscheme molokai " Sublime Text
"colorscheme ubloh "
au GUIEnter * call libcallnr("vimtweak.dll", "SetAlpha", 234)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.