[Orgmode] Re: shortcut keys for mark ups
Bernt Hansen schrieb: [snipped nice code] How can I extend this function to wrap the current selection into a #+BEGIN_SRC ...code... #+END_SRC string while also interactively asking the user for a language string? - ;; ;; Puts current selection between #+BEGIN_SRC and #+END_SRC ;; and ask for language ;; ;; TODO: ;; 1. Retrieve beginning (C-SPACE) and ;; end of selection (current position) ;; 2. Ask for language and insert that string ;; after `#+BEGIN_SRC ' (defun my-wrap-src () (interactive) (save-excursion (beginning-of-line) (insert #+BEGIN_SRC\n) (end-of-line) (insert \n#+END_SRC))) (define-key org-mode-map (kbd f9 s) 'my-wrap-src) - Example org code before function call: - * Sample Code public class Bla { public static void main(String[] args) { System.out.println(Hello); } } - With the code above: - Mark the region: C-SPACE on the letter `p' of the string `public' and moving the cursor behind the last closing curly bracket. - String after being asked for a language: `java' Example org code after function call: - * Sample Code #+BEGIN_SRC java public class Bla { public static void main(String[] args) { System.out.println(Hello); } } #+END_SRC - TIA, Patrick ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
[Orgmode] Re: shortcut keys for mark ups
Patrick Drechsler patr...@pdrechsler.de writes: Bernt Hansen schrieb: [snipped nice code] How can I extend this function to wrap the current selection into a #+BEGIN_SRC ...code... #+END_SRC string while also interactively asking the user for a language string? - ;; ;; Puts current selection between #+BEGIN_SRC and #+END_SRC ;; and ask for language ;; ;; TODO: ;; 1. Retrieve beginning (C-SPACE) and ;; end of selection (current position) ;; 2. Ask for language and insert that string ;; after `#+BEGIN_SRC ' (defun my-wrap-src () (interactive) (save-excursion (beginning-of-line) (insert #+BEGIN_SRC\n) (end-of-line) (insert \n#+END_SRC))) (define-key org-mode-map (kbd f9 s) 'my-wrap-src) - Example org code before function call: - * Sample Code public class Bla { public static void main(String[] args) { System.out.println(Hello); } } - With the code above: - Mark the region: C-SPACE on the letter `p' of the string `public' and moving the cursor behind the last closing curly bracket. - String after being asked for a language: `java' Example org code after function call: - * Sample Code #+BEGIN_SRC java public class Bla { public static void main(String[] args) { System.out.println(Hello); } } #+END_SRC - Something like this maybe? It's not 100% to spec. I find regions that are entire lines easier to work with so the end point would be the beginning of the first line not in the region (not after the }) For me - triple clicking and dragging selects entire lines which works well for this. (defun my-wrap-src () (interactive) (let ((beg (region-beginning)) (end (region-end)) (src (read-from-minibuffer Source type: java))) (save-excursion (goto-char (region-end)) (insert #+END_SRC\n) (goto-char (region-beginning)) (insert #+BEGIN_SRC src \n If you want your behaviour you probably jsut have to change (insert #+END_SRC\n) to (insert \n#+END_SRC) but that's untested. HTH, -Bernt ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
[Orgmode] Re: shortcut keys for mark ups
Bernt Hansen schrieb: Patrick Drechsler patr...@pdrechsler.de writes: Bernt Hansen schrieb: [snipped nice code] How can I extend this function to wrap the current selection into a #+BEGIN_SRC ...code... #+END_SRC string while also interactively asking the user for a language string? Something like this maybe? It's not 100% to spec. I find regions that are entire lines easier to work with so the end point would be the beginning of the first line not in the region (not after the }) For me - triple clicking and dragging selects entire lines which works well for this. (defun my-wrap-src () (interactive) (let ((beg (region-beginning)) (end (region-end)) (src (read-from-minibuffer Source type: java))) (save-excursion (goto-char (region-end)) (insert #+END_SRC\n) (goto-char (region-beginning)) (insert #+BEGIN_SRC src \n Wonderful! Thank you very much, it works like a charm! And your analysis of my sloppy specs was also correct. Thank you, Patrick ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
[Orgmode] Re: shortcut keys for mark ups
Xin Shi x...@cornell.edu writes: In org mode, are there any shortcut keys for typing the following mark-ups? #+BEGIN_EXAMPLE #+END_EXAMPLE Not that I'm aware of. You can use a function like the following to achieve this - or maybe you can use yasnippets (I've never tried that yet) (defun bth-begin-example () (interactive) (save-excursion (beginning-of-line) (insert #+BEGIN_EXAMPLE\n) (end-of-line) (insert \n#+END_EXAMPLE))) (global-set-key (kbd f9 e) 'bth-begin-example) Then you can just type f9 e while on a line and it'll put the EXAMPLE block around the current line. HTH, -Bernt ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
[Orgmode] Re: shortcut keys for mark ups
Hi Bernt, Thanks for your reply! That's what I was trying to do. But I think Carsten's suggestion of using the org-structure-template-alist is more appealing to general user. Xin Bernt Hansen wrote: Xin Shi x...@cornell.edu writes: In org mode, are there any shortcut keys for typing the following mark-ups? #+BEGIN_EXAMPLE #+END_EXAMPLE Not that I'm aware of. You can use a function like the following to achieve this - or maybe you can use yasnippets (I've never tried that yet) (defun bth-begin-example () (interactive) (save-excursion (beginning-of-line) (insert #+BEGIN_EXAMPLE\n) (end-of-line) (insert \n#+END_EXAMPLE))) (global-set-key (kbd f9 e) 'bth-begin-example) Then you can just type f9 e while on a line and it'll put the EXAMPLE block around the current line. HTH, -Bernt ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] Re: shortcut keys for mark ups
On Jan 6, 2009, at 7:50 PM, Xin Shi wrote: Hi Bernt, Thanks for your reply! That's what I was trying to do. But I think Carsten's suggestion of using the org-structure-template-alist is more appealing to general user. I do like thought that Bernt puts his template around the current line. - Carsten Xin Bernt Hansen wrote: Xin Shi x...@cornell.edu writes: In org mode, are there any shortcut keys for typing the following mark-ups? #+BEGIN_EXAMPLE #+END_EXAMPLE Not that I'm aware of. You can use a function like the following to achieve this - or maybe you can use yasnippets (I've never tried that yet) (defun bth-begin-example () (interactive) (save-excursion (beginning-of-line) (insert #+BEGIN_EXAMPLE\n) (end-of-line) (insert \n#+END_EXAMPLE))) (global-set-key (kbd f9 e) 'bth-begin-example) Then you can just type f9 e while on a line and it'll put the EXAMPLE block around the current line. HTH, -Bernt ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode
Re: [Orgmode] Re: shortcut keys for mark ups
Or use the org-mode map rather than global key (define-key org-mode-map (kbd C-f9) '(lambda()(interactive)(insert #+BEGIN_EXAMPLE\n\n#+END_EXAMPLE)(previous-line))) Xin Shi x...@cornell.edu writes: Hi Bernt, Thanks for your reply! That's what I was trying to do. But I think Carsten's suggestion of using the org-structure-template-alist is more appealing to general user. Xin Bernt Hansen wrote: Xin Shi x...@cornell.edu writes: In org mode, are there any shortcut keys for typing the following mark-ups? #+BEGIN_EXAMPLE #+END_EXAMPLE Not that I'm aware of. You can use a function like the following to achieve this - or maybe you can use yasnippets (I've never tried that yet) (defun bth-begin-example () (interactive) (save-excursion (beginning-of-line) (insert #+BEGIN_EXAMPLE\n) (end-of-line) (insert \n#+END_EXAMPLE))) (global-set-key (kbd f9 e) 'bth-begin-example) Then you can just type f9 e while on a line and it'll put the EXAMPLE block around the current line. HTH, -Bernt ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode -- important and urgent problems of the technology of today are no longer the satisfactions of the primary needs or of archetypal wishes, but the reparation of the evils and damages by the technology of yesterday. ~Dennis Gabor, Innovations: Scientific, Technological and Social, 1970 ___ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode