summaryrefslogtreecommitdiffstats
path: root/vimrc
diff options
context:
space:
mode:
Diffstat (limited to 'vimrc')
-rw-r--r--vimrc13
1 files changed, 13 insertions, 0 deletions
diff --git a/vimrc b/vimrc
index 55b9efe..8e7216a 100644
--- a/vimrc
+++ b/vimrc
@@ -94,3 +94,16 @@ if has("autocmd")
endif " has("autocmd")
+function! Preserve(command)
+ " Preparation: save last search, and cursor position.
+ let _s=@/
+ let l = line(".")
+ let c = col(".")
+ " Do the business:
+ execute a:command
+ " Clean up: restore previous search history, and cursor position
+ let @/=_s
+ call cursor(l, c)
+ endfunction
+nmap _$ :call Preserve("%s/\\s\\+$//e")<CR>
+nmap _= :call Preserve("normal gg=G")<CR>