emacs - tidy up the motion part
authorPeng Li <seudut@gmail.com>
Fri, 22 Jul 2016 14:55:15 +0000 (22:55 +0800)
committerPeng Li <seudut@gmail.com>
Fri, 22 Jul 2016 14:55:15 +0000 (22:55 +0800)
emacs.d/config.org

index d751411..cc72e83 100644 (file)
@@ -2309,16 +2309,88 @@ Most use =C-o C-o= to switch buffers; =C-o x, v= to split window; =C-o o= to del
   (global-set-key (kbd "C-o") 'sd/hydra-window/body)
 #+END_SRC
 
-** Edit
-- cut, yank, =C-w=, =C-y=
-- save, revert
-- undo, redo - undo-tree
-- select, expand-region
-- spell check, flyspell
-
 ** Motion
 - =C-M-=
-*** Use =Avy= for motion
+[[https://www.masteringemacs.org/article/effective-editing-movement][effective-editing-movement]]
+*** Command Arguments, numeric argumens
+=C-u 4= same as =C-4=, =M-4=
+*** Basic movement
+moving by line / word / 
+=C-f=, =C-b=, =C-p=, =C-n=, =M-f=, =M-b=
+=C-a=, =C-e=
+=M-m= (move first non-whitespace on this line) 
+=M-}=, =M-{=, Move forward end of paragraph
+=M-a=, =M-e=,  beginning / end of sentence
+=C-M-a=, =C-M-e=, move begining of defun
+=C-x ]=, =C-x [=, forward/backward one page
+=C-v=, =M-v=, =C-M-v=, =C-M-S-v= scroll down/up
+=M-<=, =M->=, beginning/end of buffer
+=M-r=, Repositiong point
+
+*** Moving by S-expression / List
+*** Marks
+=C-<SPC>= set marks toggle the region
+=C-u C-<SPC>= Jump to the mark, repeated calls go further back the mark ring
+=C-x C-x= Exchanges the point and mark.
+
+Stolen [[https://www.masteringemacs.org/article/fixing-mark-commands-transient-mark-mode][fixing-mark-commands-transient-mark-mode]]
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+  (defun push-mark-no-activate ()
+    "Pushes `point' to `mark-ring' and does not activate the region
+     Equivalent to \\[set-mark-command] when \\[transient-mark-mode] is disabled"
+    (interactive)
+    (push-mark (point) t nil)
+    (message "Pushed mark to ring"))
+
+  ;; (global-set-key (kbd "C-`") 'push-mark-no-activate)
+
+  (defun jump-to-mark ()
+    "Jumps to the local mark, respecting the `mark-ring' order.
+    This is the same as using \\[set-mark-command] with the prefix argument."
+    (interactive)
+    (set-mark-command 1))
+
+  ;; (global-set-key (kbd "M-`") 'jump-to-mark)
+
+  (defun exchange-point-and-mark-no-activate ()
+    "Identical to \\[exchange-point-and-mark] but will not activate the region."
+    (interactive)
+    (exchange-point-and-mark)
+    (deactivate-mark nil))
+
+  ;; (define-key global-map [remap exchange-point-and-mark] 'exchange-point-and-mark-no-activate)
+#+END_SRC
+
+Show the mark ring using =helm-mark-ring=
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+  (global-set-key (kbd "M-`") #'helm-mark-ring)
+#+END_SRC
+
+=M-h= marks the next paragraph
+=C-x h= marks the whole buffer
+=C-M-h= marks the next defun
+=C-x C-p= marks the next page
+**** TODO Mapping toggle mark ring=
+*** Registers
+Registers can save text, position, rectangles, file and configuration and other things.
+Here for movement, we can use register to save/jump position
+=C-x r SPC= store point in register
+=C-x r j= jump to register
+#+BEGIN_SRC emacs-lisp :tangle yes :results silent
+  (use-package list-register
+    :ensure t)
+#+END_SRC
+
+*** Bookmarks
+As I would like use bookmakr for different buffer/files. to help to swith
+different buffer/file quickly. this setting is in Windows/buffer node
+=C-x r m= set a bookmarks
+=C-x r l= list bookmarks
+=C-x r b= jump to bookmarks
+
+*** Search
+Search, replace and hightlight will in later paragraph
+*** =Avy= for easy motion
 #+BEGIN_SRC emacs-lisp :tangle yes :results silent
   (use-package avy
     :ensure t
@@ -2358,7 +2430,7 @@ Most use =C-o C-o= to switch buffers; =C-o x, v= to split window; =C-o o= to del
   ;; M-g M-p              previous-error
 #+END_SRC
 
-*** =imenu=
+*** =Imenu= goto tag
 #+BEGIN_SRC emacs-lisp :tangle yes :results silent
   ;; (global-unset-key (kbd "C-M-i"))
   ;; (global-set-key (kbd "C-M-i") #'counsel-imenu)
@@ -2368,65 +2440,22 @@ Most use =C-o C-o= to switch buffers; =C-o x, v= to split window; =C-o o= to del
 #+END_SRC
 
 *** Movement effective
-[[https://www.masteringemacs.org/article/effective-editing-movement][effective-editing-movement]]
-**** Command arguments, numeric argument
-=C-u 4= same as =C-4=, =M-4=
-**** movement by word
-=M-b=, =M-f=
-**** movement by paragraph/sentence
-=M-e=, =M-a=
-**** scrolling
-=C-v=, =M-v=
-**** Move to begin/end buffer
-=M->=, =M-<=
-**** Advanced movement
-***** movement by s-expression
-***** isearch
+**** isearch
 =C-s=, =C-r=
 =C-w=, put the word into search minibuffer, =M-y=
 =M-c=, toggle case sensitivity
 =M-n=, =M-p=, history
-***** back to indentation
-=M-m=
-***** Registers/Bookmarks
-Register, =C-x r SPC=, =C-x r j=
-Bookmarks, =C-x r m=, =C-x r b=, =C-x r l=
-***** Mark
-Stolen [[https://www.masteringemacs.org/article/fixing-mark-commands-transient-mark-mode][fixing-mark-commands-transient-mark-mode]]
-#+BEGIN_SRC emacs-lisp :tangle yes :results silent
-  (defun push-mark-no-activate ()
-    "Pushes `point' to `mark-ring' and does not activate the region
-     Equivalent to \\[set-mark-command] when \\[transient-mark-mode] is disabled"
-    (interactive)
-    (push-mark (point) t nil)
-    (message "Pushed mark to ring"))
-
-  (global-set-key (kbd "C-`") 'push-mark-no-activate)
+**** tagss
+**** got-to-line
 
-  (defun jump-to-mark ()
-    "Jumps to the local mark, respecting the `mark-ring' order.
-    This is the same as using \\[set-mark-command] with the prefix argument."
-    (interactive)
-    (set-mark-command 1))
 
-  (global-set-key (kbd "M-`") 'jump-to-mark)
-
-  (defun exchange-point-and-mark-no-activate ()
-    "Identical to \\[exchange-point-and-mark] but will not activate the region."
-    (interactive)
-    (exchange-point-and-mark)
-    (deactivate-mark nil))
 
-  (define-key global-map [remap exchange-point-and-mark] 'exchange-point-and-mark-no-activate)
-#+END_SRC
-***** Repositioning Point
-=M-r=
-***** Imenu
-ido-goto-symbol
-***** tagss
-***** got-to-line
-***** Next/Prev error
-***** begin/end of defun
+** Edit
+- cut, yank, =C-w=, =C-y=
+- save, revert
+- undo, redo - undo-tree
+- select, expand-region
+- spell check, flyspell
 ** Search & Replace / hightlight =M-s=
 *** search
 *** replace