为什么我在 Slimv 中收到找不到文件的错误?
Why am I getting a file not found error in Slimv?
我在 vim 中使用以下命令设置了 slimv:
let g:slimv_swank_cmd = '!gnome-terminal -e "sbcl --load ~/.vim/bundle/slimv/slime/start-swank.lisp &"'
当打开 .lisp 文件并启动 slimv 时,我在新打开的终端中收到以下错误消息 window:
debugger invoked on a SB-INT:SIMPLE-FILE-ERROR in thread
#<THREAD "main thread" RUNNING {1002A8B203}>:
Couldn't load #P"~/.vim/bundle/slimv/slime/start-swank.lisp": file does not exist.
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
0: [CONTINUE] Ignore runtime option --load "~/.vim/bundle/slimv/slime/start-swank.lisp".
1: [ABORT ] Skip rest of --eval and --load options.
2: Skip to toplevel READ/EVAL/PRINT loop.
3: [EXIT ] Exit SBCL (calling #'EXIT, killing the process).
(LOAD #P"~/.vim/bundle/slimv/slime/start-swank.lisp" :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST T :EXTERNAL-FORMAT :DEFAULT)
但是,运行 来自终端的 sbcl
命令可以正常工作,因为文件确实存在于指定的路径中。我该如何解决这个问题?
您需要确保扩展波浪号。扩展由 shell.
提供
您还可以使用以下方法计算 Common Lisp 中的路径名:
(merge-pathnames ".vim/bundle/slimv/slime/start-swank.lisp"
(user-homedir-pathname))
-> #P"/home/foobar/.vim/bundle/slimv/slime/start-swank.lisp"
将相对路径名与绝对路径名合并,如上添加目录。
两个函数(merge-pathnames
和 user-homedir-pathname
)都符合 ANSI CL 标准。
我在 vim 中使用以下命令设置了 slimv:
let g:slimv_swank_cmd = '!gnome-terminal -e "sbcl --load ~/.vim/bundle/slimv/slime/start-swank.lisp &"'
当打开 .lisp 文件并启动 slimv 时,我在新打开的终端中收到以下错误消息 window:
debugger invoked on a SB-INT:SIMPLE-FILE-ERROR in thread
#<THREAD "main thread" RUNNING {1002A8B203}>:
Couldn't load #P"~/.vim/bundle/slimv/slime/start-swank.lisp": file does not exist.
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
0: [CONTINUE] Ignore runtime option --load "~/.vim/bundle/slimv/slime/start-swank.lisp".
1: [ABORT ] Skip rest of --eval and --load options.
2: Skip to toplevel READ/EVAL/PRINT loop.
3: [EXIT ] Exit SBCL (calling #'EXIT, killing the process).
(LOAD #P"~/.vim/bundle/slimv/slime/start-swank.lisp" :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST T :EXTERNAL-FORMAT :DEFAULT)
但是,运行 来自终端的 sbcl
命令可以正常工作,因为文件确实存在于指定的路径中。我该如何解决这个问题?
您需要确保扩展波浪号。扩展由 shell.
提供您还可以使用以下方法计算 Common Lisp 中的路径名:
(merge-pathnames ".vim/bundle/slimv/slime/start-swank.lisp"
(user-homedir-pathname))
-> #P"/home/foobar/.vim/bundle/slimv/slime/start-swank.lisp"
将相对路径名与绝对路径名合并,如上添加目录。
两个函数(merge-pathnames
和 user-homedir-pathname
)都符合 ANSI CL 标准。