Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re: Desparately seeking a bilingual vim/Emacs expert

by polettix (Vicar)
on Apr 05, 2005 at 10:23 UTC ( #444921=note: print w/replies, xml ) Need Help??


in reply to Desparately seeking a bilingual vim/Emacs expert

At the risk of being slightly off-topic, I would also share my 2c Emacs tip with you. I've put this hook to call perltidy (pressing F6) in my .emacs:
(defun my-cperl-hook () "What to run when cperl-mode is turned on" ;; Function to call perltidy (defun perltidy-whole-buffer () "Filter the current buffer through perltidy" (interactive) (shell-command-on-region (point-min) (point-max) "perltidy -st" nil 1 shell-command-default-error-buffer ) ) ;; Bind key (define-key cperl-mode-map [f6] 'perltidy-whole-buffer) )
The hook has to be added to the correct customisation variable as well:
(custom-set-variables ;; custom-set-variables was added by Custom -- don't edit or cut/pas +te it! ;; Your init file should contain only one such instance. ;; ... '(cperl-mode-hook (quote (my-cperl-hook))) )
Of course, s/cperl/perl/g if you don't want to use cperl.

Flavio (perl -e "print(scalar(reverse('ti.xittelop@oivalf')))")

Don't fool yourself.

Replies are listed 'Best First'.
Re^2: Desparately seeking a bilingual vim/Emacs expert
by diotalevi (Canon) on Nov 23, 2005 at 03:43 UTC

    The following snippet steals the regular C-x C-s to automatically perltidy as well. I added a different definition for perltidy-whole-buffer so that the input point is restored to be somewhere near where it was originally. I also added a check to see if the buffer has been modifed before calling out to perltidy.

    (add-to-list 'cperl-mode-hook (lambda () (substitute-key-definition 's +ave-buffer 'cperl-save-buffer cperl-mode-map global-map))) (defun cperl-save-buffer (&optional args) (interactive "p") (if (buffer-modified-p) (perltidy-buffer)) (save-buffer t)) (defun perltidy-buffer () (interactive) (let ((orig-point (point))) (shell-command-on-region (point-min) (point-max) "perltidy -st" nil t shell-command-default-error-buffer) (goto-char (if (<= orig-point (point-max)) orig-point (point-max)))))

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://444921]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (7)
As of 2016-10-01 19:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?






    Results (6 votes). Check out past polls.