$ProductVersion{4.1.0} $ManualSubVersion{0} $File{4coder_manual} $Title{4coder 4.1 User's Manual} $Hd{1}{4coder 4.1. User's Manual} $Hd{3}[Allen Webster, 2018-09-07} $TableOfContents{ALL} $BeginContents{ALL} $PushSection{ALL}{}{$Hd{2}{First Time User}} $PushSection{ALL}{}{$Hd{3}{Organization}} 4coder's most basic organization of information is by $Link{buffers}{org_buffers} and $Link{views}{views}. Buffers, described simply, are an optimized array of characters encoded in UTF-8, that support reading and writing anywhere in the buffer and can be rendered to screen. A view represents an region of the 4coder window with a self contained state for interactions from the user. These major objects exist independently, they are created and closed independently. The only relationship that ever exists between a view and a buffer is that a view can set a buffer as it's target for writing, reading, and rendering. Multiple views can target a single buffer. Any view can target any buffer at any time. Closing a buffer in a view leaves the view open, closing a view that targets a buffer leaves the buffer open. All of this is to emphasize that these two types of entities exist absolutely independently and have only a very weak relationship. $PopSection{ALL} $PushSection{ALL}{org_buffers}{$Hd{3}{Buffer Basics}} A buffer is essentially an optimized array of characters encoded in UTF-8, with a lot of extra features attached. Many buffers will be tied directly to a corresponding file and will save their contents out to their file, but a few buffers exist just to be a holder for text. In deafult 4coder behavior all buffers that lack a backing file have a name starting and ending with $Code{'*'} characters. A new buffer with a file association can be opened any time using one of the interactive commands for file system browsing: $BeginTable{FileBuf}{1} $Row{$Link{cmdref_interactive_open_or_new}{interactive_open_or_new}} $Row{$Link{cmdref_interactive_new}{interactive_new}} $Row{$Link{cmdref_interactive_open}{interactive_open}} $EndContents{FileBuf} Once you open a new buffer with a file association it will be the dedicated buffer for that file from then on, opening the file again will always just bring you back to the buffer you already opened, to create a totally different copy you have to manually make a fresh new buffer and then copy the contents over. To see a list of all open buffers and switch a view to targetting any buffer there is the interactive command $Link{cmdref_interactive_switch_buffer}{interactive_switch_buffer}. $PopSection{ALL} $PopSection{ALL} $PushSection{ALL}{}{$Hd{2}{Commands}} $ImportContents{commands.man}{ALL} $PopSection{ALL} $PushSection{ALL}{}{$Hd{2}{Bindings}} $ImportContents{bindings.man}{ALL} $PopSection{ALL} $PushSection{ALL}{}{$Hd{2}{Config Files and Project Files}} $PopSection{ALL} $PushSection{ALL}{}{$Hd{2}{Customization}} $PopSection{ALL} $EndContents{ALL}