我是 clojure 编程的新手。我正在使用 vim 编辑器。我已经安装了 vim-clojure-static 插件来编写更好的代码。 但它没有像我预期的那样工作。我希望每个特殊关键字的 两个 空格缩进。
例如,这是 core.clj 文件。
(ns hello.core
(:gen-class)
(:import
(java.io FileNotFoundException)))
(defn -main
[& args]
(println "Hello, World!")
(try (slurp (first args))
(catch FileNotFoundException e (println (.getMessage e)))))
这是默认缩进。我不喜欢这样。我希望我的代码看起来像:
(ns hello.core
(:gen-class)
(:import
(java.io FileNotFoundException)))
(defn -main
[& args]
(println "Hello, World!")
(try (slurp (first args))
(catch FileNotFoundException e (println (.getMessage e)))))
这意味着,我希望 两个 空格缩进每个特殊关键字 即 在给定的示例中尝试 。
与此同时,我不确定,我是否以正确的方式安装了 *插件。这是我的 .vim 目录结构:
$ tree ~/.vim/
/home/james/.vim/
|-- autoload
| `-- pathogen.vim
`-- bundle
`-- vim-clojure-static
|-- autoload
| `-- clojurecomplete.vim
|-- clj
| |-- dev-resources
| | |-- test-basic-sexp-indent.txt
| | |-- test-inherit-indent.in
| | |-- test-inherit-indent.out
| | |-- test-multibyte-indent.txt
| | |-- test-reader-conditional-indent.in
| | |-- test-reader-conditional-indent.out
| | |-- test-side-effects-in-indentexpr.in
| | `-- test-side-effects-in-indentexpr.out
| |-- project.clj
| |-- src
| | `-- vim_clojure_static
| | |-- generate.clj
| | `-- test.clj
| |-- test
| | `-- vim_clojure_static
| | |-- indent_test.clj
| | `-- syntax_test.clj
| `-- vim
| `-- test-runtime.vim
|-- doc
| `-- clojure.txt
|-- ftdetect
| `-- clojure.vim
|-- ftplugin
| `-- clojure.vim
|-- indent
| `-- clojure.vim
|-- LICENSE.txt
|-- README.markdown
`-- syntax
`-- clojure.vim
16 directories, 23 files
这是我的 vimrc 文件:
$ cat ~/.vimrc
set autoindent
set tabstop=2
set shiftwidth=2
set softtabstop=2
set expandtab
execute pathogen#infect()
syntax on
filetype plugin indent on
谁能告诉我,我哪里错了?如何使用 * two 空格自动生成?感谢。
答案 0 :(得分:0)
根据此处的文档:https://github.com/guns/vim-clojure-static,
您需要使用
try
关键字添加到列表中
let g:clojure_fuzzy_indent_patterns = ['^with', '^def', '^let', '^try']
我希望它会有所帮助,我没试过它