我刚刚安装了 VIM 和几个插件,其中一个是 vim 壁炉。我遇到的一个问题是壁炉找不到我的密码。我把我的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
设置类路径,这可能是因为您没有使用 lein 项目。但这不是必需的,您可以随时连接到正在运行的 nrepl(可以通过 lein repl
启动)并使用 :Connect nrepl://localhost:port
从 vim 连接到它。