unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: Dan Hitt <dan.hitt@gmail.com>
To: Gregory Heytings <ghe@sdf.org>
Cc: help-gnu-emacs@gnu.org
Subject: Re: Opening multiple files in a single buffer?
Date: Sat, 13 Jun 2020 11:10:00 -0700	[thread overview]
Message-ID: <CAOphizLdSGAeNRufesz-cax9uAST7BRSdHUL7ybbN5QmXVO4Aw@mail.gmail.com> (raw)
In-Reply-To: <alpine.NEB.2.22.394.2006131521280.2858@sdf.lonestar.org>

On Sat, Jun 13, 2020 at 7:41 AM Gregory Heytings <ghe@sdf.org> wrote:

>
> .....
>
> For example, suppose you write a book, which has fifteen chapters in files
> chap1.tex, ..., chap15.tex.  Opening these files in a single buffer means
> that you could use isearch-{forward,backward} in the whole book.  (I know
> that multi-isearch-buffers could be used in this particular case, but it
> is not as convenient to use.)  You could also use query-replace on the
> whole book, or reindent all files, or execute shell-command on all files
> at once, and so forth.  (Again I know that all this can be done with
> already existing features, e.g. through dired, but again I find them not
> as convenient as what I have in mind.)
>
> Each file would have its own major and minor modes, and the mode-line
> would adapt depending on the file corresponding to the buffer portion in
> which the point is currently located.
>
>
>
Another application would be to open all the code files in a directory into
a single buffer, and do replace-string or query-replace on all of them, to
rename variables, for example.  You'd want to be able to mark the
sub-buffers read-only or not independently, since (e.g.) not all of them
might be owned by the same account.  And you might want to make a provision
so that one file could appear more than once in the linear list of
sub-buffers (as could happen naturally with links).

I think your idea is a real winner.

I have no idea how hard it would be to implement, but could it be just a
matter of making a new kind of buffer, say a multi-file buffer, and then
just specifying the new behavior for all buffer functions for this new kind
of buffer?

dan


  parent reply	other threads:[~2020-06-13 18:10 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-13 14:31 Opening multiple files in a single buffer? Gregory Heytings
2020-06-13 15:20 ` Douglas Lewan
2020-06-13 16:53   ` Gregory Heytings
2020-06-13 15:21 ` tomas
2020-06-13 15:36   ` Douglas Lewan
2020-06-13 15:53     ` tomas
2020-06-13 15:49 ` Jakub Jankiewicz
2020-06-13 16:43 ` Stefan Monnier
2020-06-14 11:11   ` Michael Albinus
2020-06-15  8:26   ` Gregory Heytings
2020-06-15  9:33     ` tomas
2020-06-15  9:52       ` Gregory Heytings
2020-06-15 10:58         ` tomas
2020-06-15 12:48     ` Joost Kremers
2020-06-15 14:24       ` Gregory Heytings
2020-06-15 14:41     ` Stefan Monnier
2020-06-15 12:21   ` Sergey Organov
2020-06-15 15:26   ` Gregory Heytings
2020-06-15 15:31     ` Perry Smith
2020-06-13 18:10 ` Dan Hitt [this message]
2020-06-13 18:41   ` Jakub Jankiewicz
2020-06-13 18:41   ` Eli Zaretskii
2020-06-13 19:22     ` Gregory Heytings
2020-06-13 19:45       ` Perry Smith
2020-06-13 20:42         ` Gregory Heytings
2020-06-14  5:29           ` Arthur Miller
2020-06-14  7:12             ` Gregory Heytings
2020-06-14  7:45               ` Arthur Miller
2020-06-14 20:14                 ` Gregory Heytings
2020-06-15  6:58                   ` Sv: " arthur miller
2020-06-13 19:31   ` Stefan Monnier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAOphizLdSGAeNRufesz-cax9uAST7BRSdHUL7ybbN5QmXVO4Aw@mail.gmail.com \
    --to=dan.hitt@gmail.com \
    --cc=ghe@sdf.org \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).