Skip to content

Instantly share code, notes, and snippets.

@jiroukaja
Last active December 16, 2015 12:28
Show Gist options
  • Save jiroukaja/5434655 to your computer and use it in GitHub Desktop.
Save jiroukaja/5434655 to your computer and use it in GitHub Desktop.
SlimvにてNeocomplcacheのctagsを利用した補完ができない再現
--append=yes
--recurse=yes
--langmap=LISP:+.asd
--lisp-kinds=f
set nocompatible
syntax on
set encoding=utf-8
set statusline=%t\ %m%r%h%w[%Y][%{&fenc}][%{&ff}]%=%c,%l%11p%%
" Tags
set tags=$HOME/lisp.tags
" ctags Clozure CL path
set path+=/usr/local/Cellar/clozure-cl/1.9/ccl
filetype off
set nocompatible " be iMproved
filetype plugin indent off " required!
if has('vim_starting')
set runtimepath+=$HOME/.vim/bundle/neobundle.vim
call neobundle#rc(expand($HOME.'/.vim/bundle/'))
endif
NeoBundle 'Shougo/neobundle.vim'
NeoBundle 'Shougo/vimproc', {
\ 'build' : {
\ 'windows' : 'make -f make_mingw32.mak',
\ 'cygwin' : 'make -f make_cygwin.mak',
\ 'mac' : 'make -f make_mac.mak',
\ 'unix' : 'make -f make_unix.mak',
\ },
\ }
NeoBundle 'Shougo/unite.vim'
NeoBundle 'Shougo/neocomplcache'
NeoBundle 'Shougo/neosnippet'
NeoBundle 'Shougo/vimshell'
NeoBundle 'https://bitbucket.org/kovisoft/slimv'
NeoBundle 'tsukkee/unite-tag'
filetype plugin on
filetype indent on
" Disable AutoComplPop.
let g:acp_enableAtStartup = 0
" Use neocomplcache.
let g:neocomplcache_enable_at_startup = 1
" Use underbar completion.
let g:neocomplcache_enable_underbar_completion = 1
let g:neocomplcache_max_list = 100
" Set minimum syntax keyword length.
let g:neocomplcache_min_syntax_length = 3
let g:neocomplcache_lock_buffer_name_pattern = '\*ku\*'
" Use smartcase.
let g:neocomplcache_enable_smart_case = 1
" Use camel case completion.
let g:neocomplcache_enable_camel_case_completion = 1
" Select with <TAB>
inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>"
if !exists('g:neocomplcache_include_paths')
let g:neocomplcache_include_paths = {}
endif
if !exists('g:neocomplcache_include_patterns')
let g:neocomplcache_include_patterns = {}
endif
if !exists('g:neocomplcache_ctags_arguments_list')
let g:neocomplcache_ctags_arguments_list = {}
endif
"as your ctags path
let g:neocomplcache_ctags_program='/usr/local/bin/ctags'
"Clozure CL's file -> /usr/local/Cellar/clozure-cl/1.9/ccl
let g:neocomplcache_ctags_arguments_list.lisp = '-R --langmap=Lisp:+.asd --Lisp-kinds=f -f '.$HOME.'/lisp.tags /usr/local/Cellar/clozure-cl/1.9/ccl '.$HOME.'/quicklisp '.$HOME.'/quicklisp.lisp'
let g:neosnippet#snippets_directory='~/.vim/snippets'
" Define dictionary.
let g:neocomplcache_dictionary_filetype_lists = {
\ 'default' : '',
\ 'lisp' : $HOME.'/.vim/dict/lisp.dict'
\ }
" Define keyword.
if !exists('g:neocomplcache_keyword_patterns')
let g:neocomplcache_keyword_patterns = {}
endif
let g:neocomplcache_keyword_patterns['default'] = '\h\w*'
"as your ccl64 path
let g:slimv_lisp = '/usr/local/bin/ccl64'
let g:slimv_impl = 'clozure'
let g:slimv_preferred = 'clozure'
"if Linux
"let g:slimv_swank_cmd = '! xterm -e ccl64 --load '.$HOME.' .vim/bundle/slimv/slime/start-swank.lisp &'
let g:slimv_swank_cmd = '!osascript -e "tell application \"Terminal\" to do script \"ccl64 --load '.$HOME.'/.vim/bundle/slimv/slime/start-swank.lisp\""'
"Slimv Log
"let g:swank_log=1
" neosnippet
" Plugin key-mappings.
imap <C-l> <Plug>(neosnippet_expand_or_jump)
smap <C-l> <Plug>(neosnippet_expand_or_jump)
" SuperTab like snippets behavior.
imap <expr><TAB> neosnippet#expandable() ? "\<Plug>(neosnippet_expand_or_jump)" : pumvisible() ? "\<C-n>" : "\<TAB>"
smap <expr><TAB> neosnippet#expandable() ? "\<Plug>(neosnippet_expand_or_jump)" : "\<TAB>"
" For snippet_complete marker.
if has('conceal')
set conceallevel=2 concealcursor=i
endif
autocmd BufNewFile,BufRead *.asd set filetype=lisp
" neosnippet {{{
" スニペット展開候補があれば展開を,そうでなければbash風補完を.
" プレースホルダ優先で展開
imap <expr><C-l> neosnippet#expandable() \|\| neosnippet#jumpable() ?
\ "\<Plug>(neosnippet_jump_or_expand)" :
\ neocomplcache#complete_common_/string()
smap <expr><C-l> neosnippet#expandable() \|\| neosnippet#jumpable() ?
\ "\<Plug>(neosnippet_jump_or_expand)" :
\ neocomplcache#complete_common_string()
imap <expr><TAB> neosnippet#jumpable() ? "\<Plug>(neosnippet_expand_or_jump)" : pumvisible() ? "\<C-n>" : "\<TAB>"
smap <expr><TAB> neosnippet#jumpable() ? "\<Plug>(neosnippet_expand_or_jump)" : "\<TAB>"
" ネスト優先で展開
imap <expr><C-S-l> neosnippet#expandable() \|\| neosnippet#jumpable() ?
\ "\<Plug>(neosnippet_expand_or_jump)" :
\ neocomplcache#complete_common_string()
smap <expr><C-S-l> neosnippet#expandable() \|\| neosnippet#jumpable() ?
\ "\<Plug>(neosnippet_expand_or_jump)" :
\ neocomplcache#complete_common_string()
"}}}
ctags -R --langmap=Lisp:+.asd --lisp-kinds=f -f ~/lisp.tags /usr/local/Cellar/clozure-cl/1.9/ccl
補足: Slimvは、Lispファイルを開いた後にnormal mode ",c" で動きます(要python)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment