⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 structures

📁 早期freebsd实现
💻
字号:
#	@(#)structures	5.2 (Berkeley) 11/1/93There are three major data structures in this package.  The first is asingle global structure (named GS) which contains information common toall files and screens.  It's really pretty tiny, and functions more as asingle place to hang things than anything else.The second and third structures are the file structures (named EXF) andthe screen structures (named SCR).  They contain information theoreticallyunique to a screen or file, respectively.  Each SCR structure has a setof functions which update the screen and/or return information about thescreen from the underlying screen package.The GS structure contains linked lists SCR structures.  The structurescan also be classed by persistence.  The GS structure never goes awayand the SCR structure persists over instances of files.File names have different properties than files themselves, so the nameinformation for a file is held in an FREF structure which is chained fromthe SCR structure.In general, functions are always passed an SCR structure and often an EXFstructure as well.  The SCR structure is necessary for any routine thatwishes to talk to the screen, the EXF structure is necessary for anyroutine that wants to modify the file.  The relationship between an SCRstructure and its underlying EXF structure is not fixed, and although youcan translate from an SCR to the underlying EXF, it is discouraged.  Ifthis becomes too onerous, I suspect I'll just stop passing around the EXFin the future.The naming of the structures is consistent across the program.  (Macroseven depend on it, so don't try and change it!)  The global structure is"gp", the screen structure is "sp", and the file structure is "ep".A few other data structures:TEXT	In nvi/cut.h.  This structure describes a portion of a line,	and is used by the input routines and as the "line" part of a	cut buffer.CB	In nvi/cut.h.	A cut buffer.  A cut buffer is a place to	hang a list of TEXT structures.MARK	In nvi/mark.h.  A cursor position, consisting of a line number	and a column number.MSG	In nvi/msg.h.  A chain of messages for the user.SEQ	In nvi/seq.h.  An abbreviation or a map entry.EXCMDARG	In nvi/ex/excmd.h.stub.  The structure that gets passed around	to the functions that implement the ex commands.  (The main	ex command loop (see nvi/ex/ex.c) builds this up and then passes	it to the ex functions.)VICMDARG	In nvi/vi/vcmd.h.  The structure that gets passed around to the	functions that implement the vi commands.  (The main vi command	loop (see nvi/vi/vi.c) builds this up and then passes it to the	vi functions.)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -