From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Drew Adams" Newsgroups: gmane.emacs.help Subject: RE: vim's jumplist equivalent in emacs? Date: Sat, 16 Dec 2006 18:17:05 -0800 Message-ID: References: <1165972555.353843.278350@f1g2000cwa.googlegroups.com> NNTP-Posting-Host: dough.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1166321906 4822 80.91.229.10 (17 Dec 2006 02:18:26 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sun, 17 Dec 2006 02:18:26 +0000 (UTC) Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sun Dec 17 03:18:24 2006 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by dough.gmane.org with esmtp (Exim 4.50) id 1Gvlbb-0006yF-FR for geh-help-gnu-emacs@m.gmane.org; Sun, 17 Dec 2006 03:18:23 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Gvlba-00046C-Ks for geh-help-gnu-emacs@m.gmane.org; Sat, 16 Dec 2006 21:18:22 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1GvlbN-00043V-3D for help-gnu-emacs@gnu.org; Sat, 16 Dec 2006 21:18:09 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1GvlbM-00042K-D1 for help-gnu-emacs@gnu.org; Sat, 16 Dec 2006 21:18:08 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GvlbM-00041x-6g for help-gnu-emacs@gnu.org; Sat, 16 Dec 2006 21:18:08 -0500 Original-Received: from [141.146.126.228] (helo=agminet01.oracle.com) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA:32) (Exim 4.52) id 1GvlbK-0007dG-S7 for help-gnu-emacs@gnu.org; Sat, 16 Dec 2006 21:18:08 -0500 Original-Received: from rgmgw3.us.oracle.com (rgmgw3.us.oracle.com [138.1.186.112]) by agminet01.oracle.com (Switch-3.2.4/Switch-3.1.7) with ESMTP id kBH2I06m013802; Sat, 16 Dec 2006 20:18:01 -0600 Original-Received: from rcsmt250.oracle.com (rcsmt250.oracle.com [148.87.90.195]) by rgmgw3.us.oracle.com (Switch-3.2.4/Switch-3.1.7) with ESMTP id kBH2I0Fx011236; Sat, 16 Dec 2006 19:18:00 -0700 Original-Received: from dhcp-amer-csvpn-gw2-141-144-73-28.vpn.oracle.com by rcsmt250.oracle.com with ESMTP id 2298950481166321828; Sat, 16 Dec 2006 19:17:08 -0700 Original-To: "Thomas" , X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.6604 (9.0.2911.0) In-Reply-To: <1165972555.353843.278350@f1g2000cwa.googlegroups.com> Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3028 X-Brightmail-Tracker: AAAAAQAAAAI= X-Brightmail-Tracker: AAAAAQAAAAI= X-Whitelist: TRUE X-Whitelist: TRUE X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:39652 Archived-At: > In vim, some kind of user actions like text search, tag search or > opening new file are regarded as 'jump action'. Every position, whether > it's in one buffer or in another, before/after those jumps are > automatically recorded in 'jump list', so you can navigate > forward/backward the postions using Ctrl+O / Ctrl+I. May I find a > similar job done for emacs? > doremi is helpful to me. Thank you. > doremi-cmd is close to what I wanted though it is not the 'global list' > that I mentioned above. Thank you. Actually, there are two commands in doremi-cmd.el that could help, and one is global: `doremi-marks' lets you cycle among marks in a buffer. `doremi-global-marks' lets you cycle among global marks in multiple buffers. Emacs has a ring of marks for each buffer, as well as a global ring of marks that goes across all buffers. These two commands reflect that. In addition, you might want to try Icicles. Commands `icicle-goto-marker' and `icicle-goto-global-marker' let you navigate among the two kinds of marks using completion, as well as by cycling. The completion is based on the text of the line the mark is in (or "" if the line is empty). IOW, in buffer *Completions*, you can "see" all of the marks that are in lines that match your minibuffer input. You can use normal prefix matching or regexp (e.g. substring) matching. When your input is empty, you see the lines of all marks as navigation candidates. Typing filters the list of candidates incrementally, so they always match your input. `icicle-goto-marker' and `icicle-goto-global-marker' are multi-commands: You can use `C-RET', `C-down', `C-next', and `C-mouse-2' to move around among selected marks, before deciding on a final destination with `RET'. Just repeating `C-down' is equivalent to what the doremi mark commands do by repeating `down' - the Icicles commands offer quite a bit more flexibility. These two Icicles commands are in fact specific applications of the generic function (and command) `icicle-map'. That is, they are defined by using `icicle-map' to apply a simple go-to function to mark-ring candidates. `icicle-map' lets you apply any function to association-list entries in a selective, interactive fashion. The alist keys are used as the completion candidates, and choosing a candidate applies the function to that alist entry (key + value). When you use command `icicle-map' interactively, it prompts you for the names of 1) a variable that has an alist value and 2) a function - you can use completion for each name. In Emacs, there are many alist variables; by default, they constitute the completion candidates for #1. Icicles is here: http://www.emacswiki.org/cgi-bin/wiki/Icicles. HTH.