1 (defun act-on-line-or-region (function)
3 (if mark-active
(region-beginning) (line-beginning-position))
4 (if mark-active
(region-end) (line-end-position))))
6 (defun comment-or-uncomment-line-or-region nil
8 (act-on-line-or-region 'comment-or-uncomment-region
))
10 (defun end-of-line-or-last-not-blank (&optional n
)
12 (if (= (point) (save-excursion (end-of-line n
) (point)))
13 (skip-syntax-backward "-")
16 (defun back-to-indentation-or-beginning (&optional n
)
18 (if (= (point) (save-excursion (back-to-indentation) (point)))
20 (beginning-of-line n
) (back-to-indentation)))
22 (defun indent-line-or-region nil
24 (act-on-line-or-region 'indent-region
))
26 (defun indent-buffer nil
30 (indent-region (point-min) (point-max))))
32 (defun backward-line (count)
34 (forward-line (* -
1 count
)))
36 (defun join-following-line nil
40 (defun zap-upto-char (arg char
)
41 (interactive "p\ncZap up to char: ")
42 (zap-to-char arg char
)
46 (def-keys (current-global-map)
48 [remap move-beginning-of-line
] 'back-to-indentation-or-beginning
49 [remap move-end-of-line
] 'end-of-line-or-last-not-blank
55 "H-J" 'join-following-line
63 "C-H-j" 'forward-paragraph
64 "C-H-k" 'backward-paragraph
66 "C-H-h" 'backward-word
69 "H-;" 'comment-or-uncomment-line-or-region
70 "H-\\" 'indent-line-or-region
74 "H-t c" 'transpose-chars
75 "H-t w" 'transpose-words
76 "H-t x" 'transpose-sexps
77 "H-t s" 'transpose-sentenses
78 "H-t p" 'transpose-paragraphs
79 "H-t l" 'transpose-lines
83 ;; from http://blog.zenspider.com/archives/2007/02/new_category_emacs.html
84 (define-key isearch-mode-map
(kbd "C-o")
87 (let ((case-fold-search isearch-case-fold-search
))
88 (occur (if isearch-regexp isearch-string
89 (regexp-quote isearch-string
))))))
91 (provide 'vee
/editing
)