http://www.perlmonks.org?node_id=442174


in reply to Re: Desparately seeking a bilingual vim/Emacs expert
in thread Desparately seeking a bilingual vim/Emacs expert

Yes, I agree that cperl is the right mode to use. I use it daily in XEmacs.

I've also been using mmm-mode regularly to edit HTML::Mason files, with the mode (and syntax highlighting and background) changing between blocks of html and perl.

I also like your brief version of the tab definitions. However, while I'm not sure exactly what the tab key does in vim perl, cperl's default tab definition took me a bit of getting used to - particularly in that by default hitting tab at the end of a line indents the whole line appropriately instead of moving to the righ to get ready for a comment.

It might be worth noting that

(setq-default cperl-tab-always-indent nil)
tells cperl that tab means indent when the cursor is to the left of the text, otherwise it means "insert-tab" - though I believe that's still different from the shift-tab defined as "tab-to-tab-stop" which I use more often.

As far as Damian's named macros for inserting a specific chunk of text or loading a specific template, I'd suggest something like the following.

; A named function to insert some specific text. (defun my-insert-stuff () "documentation string" (interactive "*") ; "*" => error if read-only (insert "This is the text to insert. ") ) ; Set it to a specific keystroke combo. (global-set-key [(control c) m] 'my-insert-stuff) ; Load a specific template in a new unattached buffer. (defun template-one () "documentation string" ; For help and info. (interactive) ; Make this user accessible. (switch-to-buffer "template-one") (insert-file "~/template_one") ) ; It too could be set to some specific key combination. (global-set-key [(control c) o] 'template-one)
Finally, you might be amused by these definitions. for », «, ¥
;;; ---- some "unicode" perl6 stuff ;; The numeric codes are base 10 from iso-8869-1. ;; Keys are control-c followed by control-(>, <, y), ;; without the shift key (global-set-key [(control c) (control ?.)] '(lambda () (interactive "*") (insert 187))) (global-set-key [(control c) (control ?,)] '(lambda () (interactive "*") (insert 171))) (global-set-key [(control c) (control ?y)] '(lambda () (interactive "*") (insert 165)))

Regards,

Jim Mahoney

update: fixed a typo; "control" not "crontol"

Replies are listed 'Best First'.
Re^3: Desparately seeking a bilingual vim/Emacs expert
by TheDamian (Vicar) on Mar 25, 2005 at 18:58 UTC
    That's exactly what I was looking for. Thank-you, Jim!

    And yes, I'm sure those non-ASCII set-keys will come in very handy later this year! Damian

Re^3: Desparately seeking a bilingual vim/Emacs expert
by TheDamian (Vicar) on Mar 25, 2005 at 18:59 UTC
    (Deleted. Duplicate.)