行頭にあると改行を含めた行全体をkillをする。 それ以外は標準の Kill-Lineと同じ処理をする。
(defun kill-line-CR (&optional lines) (interactive "*p") (kill-region (point) (progn (cond ((null lines) (cond ((eolp) (forward-line 1)) ((bolp) (goto-eol)(forward-char)) (t (goto-eol)))) ((zerop lines) (if(bolp)(forward-line -1)(goto-bol))) (t (forward-line lines))) (point) ) )) |
(global-set-key #\C-k 'kill-line-CR) |
(defun delete-groups-forward (&optional num)
(interactive "*p")
(if (not num)
(setq num 1))
(delete-groups num t))
(defun delete-groups-backword (&optional num)
(interactive "*p")
(if (not num)
(setq num 1))
(delete-groups num nil))
(defun delete-groups (num foward-flag)
(let (
(delete-kanji-list
'("w_" "j" "k" " " "." ")" "(" "x" "\\" "^.jkw x\\()")
)
)
(dotimes (j num)
(catch 'over
(dolist (i delete-kanji-list)
(if foward-flag
(delete-kanji-group i 'skip-syntax-spec-forward)
(delete-kanji-group i 'skip-syntax-spec-backward)))
)
)
))
漢字とか気にしないように
(defun delete-kanji-group (i func)
(let ((now-point (point))(last-point (point)))
(funcall func i)
(unless (= (point) now-point)
(delete-region now-point (point))
(throw 'over nil))))
;_-+=*&^%$$#<><.,.,.,. ()_)_)_)_)_jfkajkdjf( (感じカタカナひらがな一寿黒→矢印(
|
(global-set-key #\M-h 'delete-groups-backword) (global-set-key #\M-d 'delete-groups-forward) |
|
(defun delete-bol-region (from to) (interactive "*r") "行の先頭の入力された数だけ文字を削除" (setq num (read-integer "How many chars delete?: ")) (execute-each-region #'(lambda () (delete-char (min num (lineLength))) ) from to) t) |
(defun delete-word-bol-region (from to) (interactive "*r") "行の先頭の一致する文字を削除" (let (st stl) (setq st (read-string "What word will you delete in head?:" :default "#")) (setq stl (length st)) (execute-each-region #'(lambda() (if (and (not(isNullLine?)) (<= stl (lineLength)) (string-match (buffer-substring (point) (+ (point) stl)) st)) (delete-char stl) ) ) from to))t) |
(defun delete-eol-space-region (from to) (interactive "*r") "行の最後のスペースを消す" (execute-each-region #'(lambda () (goto-eol) (delete-horizontal-blanks)) from to) t) ;バッファー全体に (defun delete-eol-space-buffer (&optional buf) (interactive) (when buf (select-buffer buf)) (let ((usr-point (point)) ) (delete-eol-space-region (point-min)(point-max)))) |