2012-09-07 3 views
2

저는 Tim Popes rail.vim과 ruby-vim을 사용하고 있습니다. 내가 그물에서 무엇을 시도했는지에 상관없이 내가 코드 완성을 현명하게 작동시킬 수는 없다. 내가 가지고 가장 가까운 병합하여 하나의 바로 가기에서Vim Ruby and Rails 자동 완성

<c-x><c-o> - auto completing ruby eg pu.. <c-x><c-o> shows "puts" 
<c-x><c-u> - auto completing rails e.g ren.. <c-x><c-u> shows "render" 

의 .vimrc (주로 GitHub의에서 발견 섹션)

..... 

set omnifunc=rubycomplete#Complete 
let g:rubycomplete_buffer_loading = 1 
let g:rubycomplete_classes_in_global=1 
let g:rubycomplete_rails = 1 

...... 

"perform all your insert completion using the "Tab" key. 
"let SuperTab decide which completion mode to use and should play with OmniCompletion 
"let g:SuperTabMappingTabLiteral = '<c-tab>' " insert true TAB 
let g:SuperTabDefaultCompletionType = "context" 
let g:SuperTabContextDefaultCompletionType = "<c-x><c-u>" 
let g:SuperTabCompletionContexts = ['s:ContextText', 's:ContextDiscover'] 
let g:SuperTabCompletionContexts = ['s:ContextDiscover'] 
let g:SuperTabContextTextOmniPrecedence = ['&omnifunc', '&completefunc'] 
let g:SuperTabContextDiscoverDiscovery = ["&completefunc:<c-x><c-u>", "&omnifunc:<c-x><c-o>"] 
" let g:SuperTabMappingForword = '<c-space>' " replace default <Tab> 
let g:SuperTabLongestEnhanced = 1 " when you have 'longest' in completeopt, enhanced longest. 
let g:SuperTabLongestHighlight = 0 " highlight first one in popup menu let you hit <enter>. 

정말 두 메뉴의 결과를하고자합니다.

Thats는 모두 루비와 레일 완성입니다.

이것이 가능합니까? 아마도 subertab 체인을 사용하고 있을까요? 나는 어느 쪽도 일하게 될 수 없었다.

다른 노트

Rails 3.2.8 
Ruby 1.9.2p320 and tried 1.8.7 
Vim 7.3.429 (ubuntu vim-nox package) complied with ruby 1.8.7 
Rbenv, Rbenv-build, Rbenv-bundle 

답변

2

내가 rails.vim를 사용하여 내의 .vimrc는

let g:rubycomplete_buffer_loading = 1 
let g:rubycomplete_rails = 1 

코드 완성은 "탭"나는 시작 그게 문제

+1

감사와 잘 작동 있습니다. 나는 레일스 메소드 (예 : 렌더)에 대한 코드 완성을 얻지 못한다. 그러나 경로가 rbenv의 문제인지 궁금해했습니다. Tim Popes 레일 .vim은 잘 작동합니다. –

+0

supertab을 사용하고 있습니까? –