设置vim壁炉,连接clojure代码

时间:2013-12-20 18:47:59

标签: vim clojure text-editor vim-plugin

我刚安装了VIM和一些插件,其中一个是vim壁炉。我遇到的一个问题是壁炉找不到我的clojure代码。我将我的clojure代码放在vimfiles / bundle下(我正在运行windows)。

我按照这些说明操作:

http://kevinmccarthy.org/blog/2013/10/12/setting-up-vim-for-clojure/

当我在命令行中运行示例clojure函数时(我使用cqc),我收到以下错误:

Error detected while processing function <SNR>20_inputeval... foreplay#echo_session_eval..foreplay#session_eval...<SNR>20_eval...6:
line 38
E605: Exception not caught: Error running clojure:Error:Could not find or load main class clojure.main^@
Error detected while processing function <SNR>20_inputeval:
line 4
E71:missing :endif

这是我的.vimrc:

set nocompatible
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin

syntax on
filetype plugin indent on
execute pathogen#infect()
set nobackup
set nowritebackup

set diffexpr=MyDiff()
function MyDiff()
  let opt = '-a --binary '
  if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
  if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
  let arg1 = v:fname_in
  if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
  let arg2 = v:fname_new
  if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
  let arg3 = v:fname_out
  if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
  let eq = ''
  if $VIMRUNTIME =~ ' '
    if &sh =~ '\<cmd'
      let cmd = '""' . $VIMRUNTIME . '\diff"'
      let eq = '"'
    else
      let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
    endif
  else
    let cmd = $VIMRUNTIME . '\diff'
  endif
  silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq
endfunction

1 个答案:

答案 0 :(得分:1)

壁炉无法设置类路径,这可能是因为您没有使用lein项目。但这不是必需的,您可以随时连接到正在运行的nrepl(可以通过lein repl启动)并使用:Connect nrepl://localhost:port从vim连接到它。