How can I edit multiple text files as one virtual document?

My main goal is to be able to constantly keep track of individual text fragment word and character counts while simultaneously being able to read the entire long document as a whole.

-
Based on the rephrased question, you might try any forms based GUI designer out there -- one such example is a Microsoft Access form. Basically, you would create text boxes or text areas where you enter your custom text, and then with a small amount of Visual Basic code, concatenate them all together in the output, and you could fit all that on one screen. This would be pretty easy to implement, depending on how fancy you wanted to make it. –  allquixotic May 27 '13 at 23:14

As I discussed on Root Access, the broad class of tool you're looking at is an outline text editor. Outline editors let you work in blocks of texts, treat them as discrete units, and link them together, perfect for your use case.

As far as ANYONE I have talked to who needs/has used one has told me, literature and latte's scrivener is the program to beat, though this answer on Ask Ubuntu suggests a few alternatives.

-
I just had a browse through that AU question, and Kabikaboo seems like a great choice for the OP (in that all text is kept as unformatted as possible, but still retaining the benefits of a tree-like layout). Great find; just note that some of these programs won't keep the individual text fragments in different files which could be edited manually (of course many outline text editors allow you to import and export manually, but they usually save the outline text tree itself in a different format for quick loading/saving). –  Breakthrough May 28 '13 at 15:10
yeah. I actually was talking to the OP about this on chat, and suggested these. Posted here primarily as reference. I've spoken to enough schievener users that it was the first thing that came to mind - I dug up the AU link cause the OP was asking for free alternatives. I've not dug deep into them yet, I've been looking for something like this to replace my herd of postits and notebooks ;p –  Journeyman Geek May 28 '13 at 15:18

If you're willing to consider a bit more than plain-text, then this is very possible. Two such ways are using Markdown (which doesn't have native include support, but several document processors do) or LaTeX.

Markdown

With minimal markup, the Pandoc route may be what you want, since your text fragments just need to be written as Markdown documents (which, without using any additional features, are still just plain-text documents; this is the formatting system used here on Super User and the other Stack Exchange websites). Inspired by this SO question, let's say the text fragments are in the current working directory:

01_introduction.md
02_examples.md
03_discussion.md
04_conclusion.md


These can be merged & rendered as a single file with Pandoc using the command:

pandoc *.md > merged.html


Pandoc is also compatible with the LaTeX format which may also serve your needs, although there are indeed several other LaTeX document editors/compilers which might be better suited to the task.

LaTeX

Consider creating a rather simple LaTeX document, and place your plain-text files into several other files. You can then use the LaTeX \input{filename} command (or \include if you need that functionality) in the parent document to join and render all of the individual text fragments as a singular document.

So, you might want to create a parent .tex document to wrap all of your sub-.tex files (which just contain plain-text; LaTeX's \include works similar to that of the C/C++ programming languages). So let's say you have the same Markdown files as before, but renamed from .md to .tex (e.g. now you have 01_introduction.tex, 02_examples.tex, ...).

You can then make another file to compile (e.g. 00_parent.tex), which just contains the following (see this article for more advanced ways to set up a LaTeX document):

\documentclass{minimal}
\begin{document}
\input{01_introduction.tex}
\input{02_examples.tex}
\input{03_discussion.tex}
\input{04_conclusion.tex}
\end{document}


You can then compile the 00_parent.tex file with your favourite LaTeX editor (like TeXWorks) or just compile it from a terminal using the native LaTeX tools or any others you might like (Pandoc also seems to support LateX).

-
Thanks. Although I had given some consideration to LaTeX, I hadn't thought about Markdown to solve this problem. Both of these look very nice, but after having used Scrivener for a day or two now, I'm utterly blown away by how much better it is than anything else like it that I know of. By far the best aspect of Scrivener for me is the "Scrivenings" mode which is difficult to explain in the space provided, but it perfectly matches my need. Many thanks to all for your help. –  TeXnewbie May 29 '13 at 20:37