|
From: | Lennart Borgman (gmail) |
Subject: | Re: emacs equivalent of vi % |
Date: | Thu, 14 Aug 2008 12:01:42 +0200 |
User-agent: | Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071031 Thunderbird/2.0.0.9 Mnenhy/0.7.5.666 |
Rustom Mody wrote:
Thanks folks! Heres the code I have: (define-key minibuffer-local-map "%" 'percentsub) (defun percentsub () (interactive) (insert (file-name-nondirectory (buffer-file-name (window-buffer (minibuffer-selected-window)))))) Prior to Lennarts suggestion I had hacked together (cadr (buffer-list)) in place of the last line which was of course quite unacceptable Any further suggested improvements? I guess this is going to fail in some cases when theres no filename...
If you want to add it just to the ":" prompt: (eval-after-load 'viper-keym '(define-key viper-ex-cmd-map [?%] 'percentsub))
On Thu, Aug 14, 2008 at 5:44 AM, Lennart Borgman (gmail) <lennart.borgman@gmail.com> wrote:Nikolaj Schumacher wrote:Nikolaj Schumacher <n_schumacher@web.de> wrote:"Rustom Mody" <rustompmody@gmail.com> wrote:Bind the character '%' to (file-name-nondirectory (buffer-file-name))Also, note that you'll need to make an interactive function out of the form to bind it to a key.Oups, that's not all... It won't work, because `buffer-file-name' will of course return the minibuffer's file name (i.e. none). I'm currently not aware of an easy way to get the originating buffer from the minibuffer. Sorry.Maybe minibuffer-selected-window + window-buffer?
[Prev in Thread] | Current Thread | [Next in Thread] |