(Clojure Tips) |
(Change <tt> to <code>, perhaps also minor tweak.) |
||
(5 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
+ | {{TipNew |
||
− | Put any tip related to the Clojure language |
||
+ | |id=1631 |
||
− | |||
+ | |previous=1630 |
||
− | Here's one: |
||
+ | |next=1632 |
||
− | |||
+ | |created=2009 |
||
− | |||
+ | |complexity=basic |
||
− | == How to Comment/Uncomment in Clojure: == |
||
+ | |author= |
||
− | |||
+ | |version=7.0 |
||
− | |||
+ | |subpage=/200909 |
||
− | The comment string is the character ; |
||
+ | |category1= |
||
− | |||
+ | |category2= |
||
− | Here's a little script I put in my ~/.vimrc |
||
+ | }} |
||
+ | Tips relating to the [[wikipedia:Clojure|Clojure]] language will be given here. |
||
+ | ==Commenting and uncommenting== |
||
+ | The comment leader for Clojure is the <code>;</code> character. This snippet allows easy commenting and uncommenting of lines. |
||
+ | <pre> |
||
⚫ | |||
function! ClojureCommentUncomment() |
function! ClojureCommentUncomment() |
||
+ | let search_saved = @/ |
||
− | "did you find the character ; at the beginning of the line? |
||
− | if getline( |
+ | if getline('.') =~ '^;' |
− | + | s/^;// " remove ';' at beginning of line |
|
⚫ | |||
− | let @/=hls |
||
else |
else |
||
⚫ | |||
− | let hls=@/ |
||
− | s/^/\;/ "add a ; at the beginning of the line |
||
− | let @/=hls |
||
endif |
endif |
||
+ | let @/ = search_saved |
||
endfunction |
endfunction |
||
+ | </pre> |
||
⚫ | |||
+ | |||
+ | Typing <code>\.</code> (assuming the default backslash leader) will remove <code>;</code> from the beginning of the current line if it is present (uncomment), or will insert it otherwise (comment). You could make this more restrictive by only adding the mapping for files of the Clojure filetype, or by adding it to <code>~/.vim/after/ftplugin/clojure.vim</code>. |
||
+ | ==References== |
||
− | Restart Vim and type ,. on any file (not just Clojure files) |
||
+ | *{{help|filetype}} |
||
− | You could make this more restrictive by adding a filetype check. |
||
+ | *{{help|after-directory}} |
||
+ | ==Comments== |
||
− | ---- |
||
+ | {{todo}} |
||
+ | *May need some information similar to [[VimTip1565]] for making Clojure a known filetype. |
||
+ | *The tip used <code>'\;'</code> but the backslash is redundant (I removed it). |
||
+ | *The tip had <code>if getline('.') =~ '\;'</code> but <code>s/^;//</code>. The former matches <code>;</code> anywhere in the line, while the latter only matches at the left margin. I changed it. |
||
+ | Please fix it if my changes broke anything. [[User:JohnBeckett|JohnBeckett]] 10:25, September 5, 2009 (UTC) |
Latest revision as of 06:41, 13 July 2012
Tips relating to the Clojure language will be given here.
Commenting and uncommenting[]
The comment leader for Clojure is the ;
character. This snippet allows easy commenting and uncommenting of lines.
map <Leader>. :call ClojureCommentUncomment()<CR> function! ClojureCommentUncomment() let search_saved = @/ if getline('.') =~ '^;' s/^;// " remove ';' at beginning of line else s/^/;/ " insert ';' at beginning of line endif let @/ = search_saved endfunction
Typing \.
(assuming the default backslash leader) will remove ;
from the beginning of the current line if it is present (uncomment), or will insert it otherwise (comment). You could make this more restrictive by only adding the mapping for files of the Clojure filetype, or by adding it to ~/.vim/after/ftplugin/clojure.vim
.
References[]
Comments[]
TO DO
- May need some information similar to VimTip1565 for making Clojure a known filetype.
- The tip used
'\;'
but the backslash is redundant (I removed it). - The tip had
if getline('.') =~ '\;'
buts/^;//
. The former matches;
anywhere in the line, while the latter only matches at the left margin. I changed it.
Please fix it if my changes broke anything. JohnBeckett 10:25, September 5, 2009 (UTC)