📄 cooledit.1
字号:
\fBHINTS\fP file in the distribution, or look under the\fBdoc/cooledit-3.17.5\fP directory in your file-system..PP.SH DEFAULT KEY DEFINITIONSKeys may be redefined using an easy to use key learner.See the next section on how to get this to work.The following is a partial list of all default key bindingsand their actions, for reference. You will probably never needto refer to it because most of the editor actions can be foundin the menus. Note that F14 is analogous to Shift-F4 etc. Alsobe aware that on some machines, what X percieves as an Alt/Metais actually some other modifier key (our Sun-Sparc uses thediamond key)..nf.B Movement keys: Left left one char Right right one char Up up one line Down down one line Home beginning of line End end of line PgUp up one screen full PgDn down one screen full Ctrl-PgUp beginning of file Ctrl-PgDn end file Ctrl-Home beginning of page Ctrl-End end of page Ctrl-Left left one word Ctrl-Right right one word Ctrl-Up up one paragraph Ctrl-Down down one paragraph Meta/Alt-Up scroll up one line Meta/Alt-Down scroll down one line.B Highlight keys: Shift with any of the above keys will highlight at the same time..B Column highlighting: Holding down the Control key while using the mouse to highlight text, will cause the highlighted text to be displayed in inverse colour. You will be able to select columns (arbitrary rectangles) of text and drag and drop them as usual..I Input History: When editing an input line, Shift-Up or Shift-Down will bring up a history of previous inputs..B Editing keys: Delete delete char to the right Backspace delete char to the left Meta/Alt-Del delete to line end Meta/Alt-Backspace delete to line begin Meta/Alt-Right delete word to the right Meta/Alt-Left delete word to the left F5 copy highlighted text to cursor F6 move highlighted text to cursor F8 delete highlighted text Ctrl-y delete line Shift-Enter insert a newline Enter insert a newline with auto indent (default) Tab insert a tab (see options menu) Insert toggle insert/overwrite Ctrl-q quote - the next key pressed will be interpreted as a literal.B Undo: Ctrl-u Ctrl-Backspace.B File Ctrl-F1 man page F2 save F12 or Shift-F2 save as Ctrl-o load Ctrl-n new Ctrl-f save highlighted text as Shift-F5 or F15 insert file at cursor.B Mark: F3 toggle highlight Ctrl-b toggle highlight columns.B Search and replace: F7 search F17 or Shift-F7 search again F4 replace F14 or Shift-F4 replace again.B X Clipboard: Ctrl-Ins copy to clipboard Shift-Ins paste to clipboard Shift-Delete cut to clipboard Ctrl-Delete delete highlighted text Meta/Alt-Ins insert from selection history.B General: F10 exit (current editor) Ctrl-F3 new edit window Shift-F3 new main window Alt-F6 maximise the window Ctrl-F6 window cycle Ctrl-F10 exit application Meta/Alt-x save all and exit Ctrl-F2 save state of desktop Ctrl-d insert date and time Meta/Alt-l goto line number Meta/Alt-F7 run make Meta/Alt-t sort Ctrl-r start/end record macro Ctrl-a execute macro Ctrl-p spell check highlighted text Shift-F9 C formatter Ctrl-Tab complete word Meta/Alt-i insert unicode character Shift/F1 rxvt terminal.B Debug: Alt-F2 toggle breakpoint Alt-F3 continue until cursor Alt-F4 continue Alt-F5 run from beginning Alt-F8 single step, dive into functions Alt-F9 single step, skip over functions Ctrl-c interrupt program.fiNew shell scripts will be added from time to time. Consultthe \fBScripts\fP menu for the hotkeys that envoke these..PP.SH EMERGENCIESkeywords: hang, crash, halt, pause, stop, infinite loop, SIGHUP,SIGUSR1..PPThere are some circumstances when \fBCooledit\fP maygo into an infinite loop, like if there is a bug in the editormovement commands, or if you create a recursive macro. In thiscase, you can restore \fBCooledit\fP by using the \fBkill\fPshell function. Try \fBkill -SIGUSR1\fP \fIpid\fP where\fIpid\fP is the process ID of cooledit from: \fBps | grepcooledit\fP, for example. This will send SIGUSR1, a user signal,which, for \fBCooledit\fP, will force a jump into its main loop,and restore operation. It is a good idea to then save what youhave done and exit immediately in case there has been memorycorruption..PP.SH KEY REDEFININGThe Options menu has a key binding learner which is easy to use.The key learning dialog contains a listof every re-definable action that the editor can perform.Simply click on the action you want to associate a key to,and press that key. An 'X' will appear next to the action toindicate the recording of a binding. To clear that bindingclick on the Clear Line button (or the Clear All button toclear all the bindings). You can even bind the same actionto two separate keys: for instance using either the key padarrows, or the normal arrows for cursor movement --- justclick on that action again, and hit another key --- wheretwo X's will appear. Up to three keys can be associated withan action. The binding is also sensitive to the keyboard 'state'(i.e. whether Control, Shift, Alt, Meta, or Hyper ispressed, and any combination of these) so binding Shift-Leftto an action will work, and will be considered a different keystroke to Shift-Control-Left, and will also be considered adifferent key stroke to Shift-Left with NumLock on. Note thatthe difference between 'Enter' and 'Return' is that the onedoes an auto-indent.The key binding records X11 key-codes. These are the actual hardwarecodes that come from the keyboard, so the key binding works on thelowest possible level of interpretation. The editor checks forthese user defined keys before any hard-coded key bindings, souser binded keys will override the default key bindings. This meansuser defining keys will always work, but may be specific to thehardware you are using.To redefine hardcoded keys (i.e. the default keys), modify the fileedit_key_translator.c and then recompile. It contains simple C codewhich gets incorporated directly into the program during compilation.Note that the first function it calls is to get the user definedaction for the key if there is one. To recompile, remove the fileedit.o and run make in the top directory. This will allow you tochange any key-binding. The editor menu however will have to bemodified separately to reflect the changes you've made (seeeditmenu.c). A detailed explanation is given in the commentary ofedit_key_translator.c.(I added key redefinition mainly because different X Serversseem to interpret the same keys differently. It seems ridiculous thatthis should happen in the face X11's thorough key definitionstandard. The new X11R6.3 for Linux does seem to interpret keysproperly and all the keys should work as expected on the PC;so there should be no need to redefine keys under Linux. Youcan however easily emulate another editor as you like.).PP.SH SPELL CHECK AS YOU TYPEAs of version 3.10.0, \fBCooledit\fP spell checks typed words onthe fly, placing the traditional wavy red line under miss-spelledwords. This works by feeding typed words through \fBispell\fP andplacing them amidst the syntax highlighting rules if \fBispell\fPreturns a non-match. These rules \fIexpire\fP after 60 seconds -which mean they won't stay underlined indefinitely. Word feeding isinitiated by most key presses and applies only to the word underthe cursor. To look up a word, merely move the cursor over it..PP.SH UNICODE, UCS AND UTF-8 SUPPORTAs of version 3.15.0, \fBCooledit\fP has Unicode support. What kind ofunicode support it has, and what unicode, UCS and UTF-8 are isexplained as follows:\fBUCS\fP stands for \fIUniversal Character Set\fP. UCS is like ASCII(see \fBascii\fP(1)) but instead of storing only 128 englishspecific characters, UCS goes up to 65535 characters and covers everyknown non-fictional language as well as scientific and mathematicalsymbols etc.UCS theoretically goes beyond 65535 (for example defining the veryuseful Klingon character set). However, it is likely that mostimplementations will keep to a 2 byte size requirement. Cooleditsupports up to 131072 (1FFFFh) characters. UCS is also called\fBUnicode\fP and is officially ISO standard 10646. So wherever you seeISO-10646 it means Unicode. (Actually, Unicode is a standard todefine further things like typographical layout, but for here,they are taken to mean the same thing.)2 bytes (for UCS) instead of 1 byte for ASCII posses a problem for mostprograms. For example, the average C program uses a string functionevery few lines (that assumes a 1 character per byte format). To solvethis we have \fBUTF-8\fP. UTF-8 stands for UCS Transformation Format.It is an encoding scheme that says that any byte encountered by anapplication that has a value below 128 is to be treated as ordinary asciicharacters, \fBbut\fP a byte with a value above 128 means that asequence of bytes is forthcoming that represents some character in therange 128 to 65536 (or above). This enables a stream of single bytes torepresent the UCS character set, albeit with some inefficiency. Moreinformation can be had from \fBhttp://www.unicode.org\fP.Hence pure ASCII text is already in UTF-8 format.At the time of this writing, I am not quite sure precisely what anapplication has to be able to do to be classified as "Supporting Unicode".For instance: what about inserting characters? Don't input methodsproduce tradition charset encodings? And why are characters displayedby X's Xmb* and Xwc* functions?At the moment \fBCooledit\fP can display Unicode characters if: (1) the"UTF8 Interpretation" is on, (2) the "Display Characters outside locale" ison, (3) you are using a non-"fontset" type font - when loading you get anerror message "Font set not loaded", and (4) if the font is a Unicodefont - i.e. ending in the font name \fBiso10646-1\fP.This may involve you having to install Unicode fonts. See\fBhttp://www.cl.cam.ac.uk/~mgk25/unicode.html\fP and\fBhttp://czyborra.com/unifont/\fP.For instance.nf cooledit --utf8-interpretation --all-characters --no-fontset \ -font -gnu-unifont-*-*-*--*-*-*-*-*-*-iso10646-1.fiworks. The GNU Unicode font is an attempt at supporting the entireUnicode character set in one font. Most other fonts will support a limitedrange (such as omitting the 20000 Chinese ideographs).What \fBCooledit\fP is supposed to do under a non-US locale I have noidea, so please give me a hint sometime. (Looking at the \fByudit\fPdocumentation, it seems Gaspar also has my problems.Note that \fBCooledit\fP does no character set translations whatsoever -maybe later versions will..PP.SH THE INTERACTIVE GRAPHICAL DEBUGGERAs of version 3.9.0, \fBCooledit\fP features an interface to\fBgdb\fP(1) under the new \fBDebug\fP menu. This means that you canseamlessly debug C/C++ programs from within \fBCooledit\fP just like youused to with your DOS Turbo Debugger. This is extremely \fIc\fPool. You canset and clear breakpoints (the line is bookmarked in red) and follow theprogram flow with the green cursor line. Please remember that this an\fIinterface\fP to gdb: \fBCooledit\fP has no debugging features of itsown. If you do not have the correct version of gdb, then a warning willbe displayed on startup.Interfaces are given to the common gdb commands. Any other commands canbe executed with the \fBEnter Command\fP menu item. Automatic variabledisplays will soon be available though.When a program stops for some reason (either a breakpoint or a signal),\fBCooledit\fP tries to determine the file and line number. If thiscannot be done, a backtrace is displayed. Backtraces do not contain fullpaths, hence files cannot be located if they are not already loaded. Ifthe file \fIis\fP already loaded, then hitting enter on a\fIfile\fP:\fIline\fP backtrace line will jump to the currect linenumber.Programs must of course be compiled with the \fB-g\fP option andpreferably the \fB-O0\fP option (without -O0 gcc's optimizations maymake the program flow appear a little strange and some variables willnot be accessible).Break-points are set and cleared from the menu or with Meta-F2. If youset a break point manually (with Meta-F1) it will not display in theedit window. Similarly if you clear a break point manually or close awindow (thus clearing the breakpoints) there will be discrepancy betweenthe book marks and the actual breakpoints. The same goes if you modifya file without restarting gdb.Variables can be displayed by selecting \fBDisplay variable...\fP. Alistbox will show all the variables you have selected. Click on thelistbox and press \fBDel\fP to delete from this list. Use \fBIns\fP tohighlight a variable - this will cause a watchpoint to be inserted forthis variable (i.e. the program will thereafter stop whenever the valueof that variable changes). The listbox will also show an \fBX\fP in thesecond column if the variable has been altered since the last time thelistbox was refreshed - this enables you to easily see which variablechanges as you step through the lines of your program.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -