=== Vim Erlang plugin === Vim plugin for the programming language Erlang. The next features are implemented: - Syntax highlight - Code folding - Code completion (based on Module:module_info/1 to use the Erlang introspection mechanism) - Auto-indent - QuickFix - Wrangler support (the refactoring Erlang tool) == Installation == * Unix - For local installation (one user only) copy the content of the tarball to your ~/.vim directory - For global installation copy the content of the tarball to your vim runtime directory (e.g. /usr/share/vim/vimX/) == Omni completion == Write the name of a module (e.g. `my_mod:') press CTRL-X CTRL-O to activate the omni completion. The omni completion try to use the man pages to give the definition for the standard functions. The omni completion try to compile local modules, if it is possible, in order to call their Module:module_info/1. The program `escript' is required, the standard Erlang installation comes with it. == Folding == To enable it just add to your vimrc `set foldenable'. == Refactoring == Extract to new function: Select the part of code you want to extract (or point something that can be extracted) and press <Alt-r>e. You will be prompted to put the name of new function. After that you can Preview, Confirm or Cancel this refactoring. (Note: Preview is not currently supported). Rename variable/function/module: Point on variable/function that name should be changed and press: <Alt-r>f for function <Alt-r>v for variable rename. To rename module, press <Alt-r>m anywere in the buffer. Tuple function arguments: Select or point on function arguments that should be changed into one tuple and press <Alt-r>t. == Settings == You can set various variables in your vimrc file to make the plugin behave differently. Syntax options: The options expect a 0 value for disabling and a non-zero (e.g. 1) for enabling. * Highlight all Erlang bifs as keywords: (default: 0) g:erlangHighlightBif Folding options: The option expects a 0 value for disabling and a non-zero (e.g. 1) for enabling. * Splitting functions if a new function head appears: (default: 0) g:erlangFoldSplitFunction Completion options: The options expect a string with the path and an integer value like before. * Set the location of the Erlang man pages: (default: "/usr/lib/erlang/man") g:erlangManPath * Enable/disable using Erlang man pages in the code completion: (default: 1) g:erlangCompletionDisplayDoc More completion options: The options expect a string as below is explained. * Set the `grep' command to be use when scanning the man pages: (default: "grep") g:erlangCompletionGrep * Set the suffix of the man page names: (default: "") g:erlangManSuffix - On Ubuntu, Erlang man pages are placed like this: /ERLANG/PATH/man/man3/lists.3erl.gz ** So, you must set: let g:erlangCompletionGrep='zgrep' let g:erlangManSuffix='erl\.gz' - In another systems, Erlang man pages are placed like this: /ERLANG/PATH/man/man3/lists.3 ** In this case, use the default options value ** Compiler options: The options expect a string with the path and an integer value like before. * Set the location of the `erlang_check_file.erl' script: (default: "~/.vim/compiler/erlang_check_file.erl") g:erlangCheckFile * Enable/disable highlighting erlang errors: (default 1) g:erlangHighlightErrors - This option makes try to compile the current file each time it is saved highlighting the errors. Refactoring options: The option expects a string with the path. * Set the location of the Wrangler tool: (default: "/usr/share/wrangler/") g:erlangWranglerPath