2016-08-08 96 views
0

Ich bin neu in clojure Programmierung. Ich benutze vim Editor. Ich habe installiert vim-clojure-statische Plugin, um besseren Code zu schreiben. Aber es funktioniert nicht so, wie ich es erwartet hatte. Ich möchte zwei Leerzeichen Einbuchtung für jedes spezielle Keyword.Wie kann ich die Standardeinstellung von vim-clojure-static plugin ändern?

Zum Beispiel ist hier core.clj Datei.

(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))))) 

Dies ist defualt indentation. Ich mag das nicht. Ich möchte, sollte mein Code wie folgt aussehen:

(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))))) 

Es bedeutet, ich will zwei Räume Einbuchtung für besondere Stichwort d.hversuchen in gegebenen Beispiel.

Mittlerweile bin ich mir nicht sicher, ob ich * plugin richtig installiert habe. Hier ist meine .vim Verzeichnisstruktur:

$ 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 

Hier ist mein vimrc Datei:

$ cat ~/.vimrc 
set autoindent 
set tabstop=2 
set shiftwidth=2 
set softtabstop=2 
set expandtab 
execute pathogen#infect() 
syntax on 
filetype plugin indent on 

kann mir jemand sagen, wo ich falsch? Wie kann ich mit Leerzeichen * zwei autoindent machen? Vielen Dank.

Antwort

0

entsprechend der Dokumentation hier: https://github.com/guns/vim-clojure-static,
Sie müssen mit einem Befehl die try Schlüsselwort in die Liste hinzuzufügen, wie

let g:clojure_fuzzy_indent_patterns = ['^with', '^def', '^let', '^try']

Ich hoffe, es wird helfen, ich habe es nicht ausprobiert

+0

Oh cool! Es funktioniert. Vielen Dank. – james