ELLE.9
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:15k
源码类别:

操作系统开发

开发平台:

C/C++

  1. .CD "elle (en ELLE Looks Like Emacs"
  2. .SX "elle fIfilefR [fIfile2fR]"
  3. .FL "fR(none)"
  4. .EY "elle file.c" "Start the editor"
  5. .PP
  6. fIELLEfR (ELLE Looks Like Emacs) is an Emacs clone for 
  7. .MX .  
  8. ELLE is not full Emacs but it has about 80 commands and is quite fast.
  9. .SP 0.5
  10. .SS "Key bindings"
  11. .SP 0.5
  12. .PP
  13. fIMinedfR only has a small number of commands.  All of them are either of
  14. the form CTRL-x or are on the numeric keypad.  Emacs, in contrast, has so
  15. many commands, that not only are all the CTRL-x commands used up, but so
  16. are all the ESC x (escape followed by x; escape is not a shift character,
  17. like CTRL).  Even this is not enough, so CTRL-X is used as a prefix for
  18. additional commands.  Thus CTRL-X CTRL-L is a command, and so is CTRL-X K.
  19. Note that what is conventionally written as CTRL-X K really means CTRL-X k.
  20. In some contexts it is traditional to write CTRL-X as ^X.
  21. Please note that they mean the same thing.
  22. .PP
  23. As a result, many Emacs commands need three or four key strokes to 
  24. execute.  Some people think 3-4 key strokes is too many.
  25. For this reason, Emacs and ELLE allow users to assign their own key bindings.
  26. In ELLE this is done with *(OQuser profiles.*(CQ  A user profile is a file listing
  27. which function is invoked by which key stroke.  The user profile is then
  28. compiled by a program called ellec into binary form.  When ELLE starts up
  29. it checks to see if a file .ellepro.b1 exists in $HOME.  If it does, this
  30. file is read in and overrides the default bindings.  
  31. .PP
  32. A user profile that simulates the fIminedfR commands fairly
  33. well is provided.  
  34. Its installation is described later.  If you have never used Emacs, 
  35. it is suggested that you use the fIminedfR profile.  
  36. If you normally use Emacs, then
  37. do not install the fIminedfR profile.  You can also make your own using
  38. fIellecfR.
  39. There is no Mock Lisp.
  40. .PP
  41. ELLE has a character-oriented view of the world, not a line oriented
  42. view, like fIedfR.  
  43. It does not have magic characters for searching.
  44. However, you can use line feed in search patterns.  
  45. For example, to find a line consisting of the three characters
  46. *(OQfoo*(CQ all by themselves on a line, using the mined
  47. bindings (see below), use the pattern: CTRL-\ CTRL-J f o o CTRL-\ CTRL-J.
  48. The CTRL- means to interpret the next character literally, in this case it
  49. is CTRL-J, which is line feed.  You can also search for patterns involving 
  50. multiple lines.  For example, to find a line ending in an *(OQx*(CQ followed by a
  51. line beginning with a *(OQy*(CQ, use as pattern: x CTRL- CTRL-J y.
  52. .SS "Mined Key Bindings"
  53. .PP
  54. These are the key bindings if the binary user profile, fI.ellepro.b1fR,
  55. is installed in $HOME.  The ESCAPE key followed by a number followed by a
  56. command causes that command to be executed *(OQnumber*(CQ times.  This applies
  57. both to control characters and insertable characters.  CTRL-X refers to a
  58. *(OQcontrol character.*(CQ  ESC x refers to an escape character 
  59. followed by x.
  60. In other words, ^X is a synonym for CTRL-X.
  61. ^X Y refers to CTRL-X followed by y.  To abort the current command and go
  62. back to the main loop of the editor, type CTRL-G, rather than CTRL-\.
  63. .PP
  64. Only a few commands are of the form CTRL-X Y.  All of these are also
  65. bound to CTRL-X CTRL-Y, so you can hold down CTRL and then hit X Y, or
  66. release control after the X, as you prefer.
  67. .PP
  68. The key bindings that are not listed should not be used.
  69. Some of them actually do things.
  70. For example, the ANSI escape codes ESC [ x are bound 
  71. to ^X Y for a variety of y.
  72. .PP
  73. Some commands work on regions.
  74. A region is defined as the text between the most recently set mark 
  75. and the cursor.
  76. .SP 0.5
  77. .SS "Mined Commands"
  78. .SP 0.5
  79. .PP
  80. If the fIminedfR profile,
  81. .I .ellepro.b1 
  82. is installed in your home directory, the following commands will work.
  83. .sp
  84. .in +1.75i
  85. .ta +1.25i
  86. .ti -1.5i
  87. fBCURSOR MOTIONfR
  88. .ti -1.25i
  89. arrows Move the cursor in the indicated direction
  90. .ti -1.25i
  91. CTRL-A Move cursor to start of current line
  92. .ti -1.25i
  93. CTRL-Z Move cursor to end of current line
  94. .ti -1.25i
  95. CTRL-F Move cursor forward word 
  96. .ti -1.25i
  97. CTRL-B Move cursor backward to start of previous word 
  98. .sp
  99. .ti -1.5i
  100. fBSCREEN MOTIONfR
  101. .ti -1.25i
  102. Home key Move to first character of the file
  103. .ti -1.25i
  104. End key Move to last character of the file
  105. .ti -1.25i
  106. PgUp key Scroll window up 22 lines (closer to start of the file)
  107. .ti -1.25i
  108. PgDn key Scroll window down 22 lines (closer to end of the file)
  109. .ti -1.25i
  110. CTRL-U Scroll window up 1 line
  111. .ti -1.25i
  112. CTRL-D Scroll window down 1 line
  113. .ti -1.25i
  114. ESC , Move to top of screen
  115. .ti -1.25i
  116. CTRL-_ Move to bottom of screen
  117. .sp
  118. .ti -1.5i
  119. fBMODIFYING TEXTfR
  120. .ti -1.25i
  121. DEL key Delete the character under the cursor
  122. .ti -1.25i
  123. Backsp Delete the character to left of the cursor
  124. .ti -1.25i
  125. CTRL-N Delete the next word
  126. .ti -1.25i
  127. CTRL-P Delete the previous word
  128. .ti -1.25i
  129. CTRL-T Delete tail of line (all characters from cursor to end of line)
  130. .ti -1.25i
  131. CTRL-O Open up the line (insert line feed and back up)
  132. .ti -1.25i
  133. ESC G Get and insert a file at the cursor position (CTRL-G in mined)
  134. .sp
  135. .ti -1.5i
  136. fBREGIONSfR
  137. .ti -1.25i
  138. CTRL-^ Set mark at current position for use with CTRL-C and CTRL-K
  139. .ti -1.25i
  140. CTRL-C Copy the text between the mark and the cursor into the buffer
  141. .ti -1.25i
  142. CTRL-K Delete text between mark and cursor; also copy it to the buffer
  143. .ti -1.25i
  144. CTRL-Y Yank contents of the buffer out and insert it at the cursor
  145. .sp
  146. .ti -1.5i
  147. fBMISCELLANEOUSfR
  148. .ti -1.25i
  149. numeric + Search forward (prompts for expression)
  150. .ti -1.25i
  151. numeric (mi Search backward (prompts for expression)
  152. .ti -1.25i
  153. CTRL-] ESC n CTRL-[ goes to line n (slightly different syntax than mined)
  154. .ti -1.25i
  155. CTRL-R Global replace pattern with string (from cursor to end)
  156. .ti -1.25i
  157. CTRL-L Replace pattern with string within the current line only
  158. .ti -1.25i
  159. CTRL-W Write the edited file back to the disk
  160. .ti -1.25i
  161. CTRL-S Fork off a shell (use CTRL-D to get back to the editor)
  162. .ti -1.25i
  163. CTRL-G Abort whatever the editor was doing and wait for command (CTRL-)
  164. .ti -1.25i
  165. CTRL-E Redraw screen with cursor line positioned in the middle
  166. .ti -1.25i
  167. CTRL-V Visit (edit) a new file
  168. .ti -1.25i
  169. CTRL-Q Write buffer to a file
  170. .ti -1.25i
  171. ESC X Exit the editor
  172. .SP 0.5
  173. .in -1.75i
  174. .SS "Non-Mined Commands"
  175. .LP
  176. .SP 0.5
  177. .in +1.75i
  178. .ta +1.25i
  179. .ti -1.5i
  180. fBCURSOR MOTIONfR
  181. .ti -1.25i
  182. ESC P Forward paragraph (a paragraph is a line beginning with a dot)
  183. .ti -1.25i
  184. ESC ] Backward paragraph
  185. .ti -1.25i
  186. ESC . Indent this line as much as the previous one
  187. .sp
  188. .ti -1.5i
  189. fBMODIFYING TEXTfR
  190. .ti -1.25i
  191. CTRL-\ Insert the next character (used for inserting control characters)
  192. .ti -1.25i
  193. ESC T Transpose characters
  194. .ti -1.25i
  195. ESC W Transpose words
  196. .ti -1.25i
  197. ESC = Delete white space (horizontal space)
  198. .ti -1.25i
  199. ESC | Delete blank lines (vertical space)
  200. .sp
  201. .ti -1.5i
  202. fBREGIONSfR
  203. .ti -1.25i
  204. ESC M Mark current paragraph
  205. .ti -1.25i
  206. ESC ^ Exchange cursor and mark
  207. .ti -1.25i
  208. ESC Y Yank back the next-to-the-last kill (CTRL-Y yanks the last one)
  209. .ti -1.25i
  210. ESC A Append next kill to kill buffer
  211. .sp
  212. .ti -1.5i
  213. fBKEYBOARD MACROSfR
  214. .ti -1.25i
  215. ESC / Start Keyboard Macro
  216. .ti -1.25i
  217. ESC \ End Keyboard Macro
  218. .ti -1.25i
  219. ESC * View Keyboard Macro (the PrtSc key on the numeric pad is also a *)
  220. .ti -1.25i
  221. ESC E Execute Keyboard Macro
  222. .sp
  223. .ti -1.5i
  224. fBWINDOW MANAGEMENTfR
  225. .ti -1.25i
  226. ^X 1 Enter one window mode
  227. .ti -1.25i
  228. ^X 2 Enter two window mode
  229. .ti -1.25i
  230. ^X L Make the current window larger
  231. .ti -1.25i
  232. ^X P Make the window more petit/petite (Yes, Virginia, they are English)
  233. .ti -1.25i
  234. ^X N Next window
  235. .ti -1.25i
  236. ^X W New window
  237. .sp
  238. .ti -1.5i
  239. fBBUFFER MANAGEMENTfR
  240. .ti -1.25i
  241. numeric 5 Display the list of current files and buffers
  242. .ti -1.25i
  243. ESC B Select a buffer
  244. .ti -1.25i
  245. ESC S Select an existing buffer
  246. .ti -1.25i
  247. ESC N Mark a buffer as NOT modified (even if it really is)
  248. .sp
  249. .ti -1.5i
  250. fBUPPER AND LOW CASE MANIPULATIONfR
  251. .ti -1.25i
  252. ESC I Set first character of word to upper case
  253. .ti -1.25i
  254. ESC C Capitalize current word
  255. .ti -1.25i
  256. ESC O Make current word ordinary (i.e., lower case)
  257. .ti -1.25i
  258. ESC U Set entire region between mark and cursor to upper case
  259. .ti -1.25i
  260. ESC L Set entire region between mark and cursor to lower case
  261. .sp
  262. .ti -1.5i
  263. fBMISCELLANEOUSfR
  264. .ti -1.25i
  265. ESC F Find file and read it into its own buffer
  266. .ti -1.25i
  267. ESC Z Incremental search
  268. .ti -1.25i
  269. ESC Q Like CTRL-R, but queries at each occurrence (type ? for options)
  270. .ti -1.25i
  271. ESC R Reset the user profile from a file
  272. .ti -1.25i
  273. ESC H Help (ELLE prompts for the 1 or 2 character command to describe)
  274. .ti -1.25i
  275. ESC ; Insert a comment in a C program (generates /* */ for you)
  276. .ti -1.25i
  277. ^X X Exit the editor (same as ESC X and CTRL-X CTRL-X)
  278. .in -1.75i
  279. .fi
  280. .sp
  281. The major differences between ELLE 
  282. with the fIminedfR profile and fIminedfR itself are:
  283. .sp
  284. .nf
  285. .in +0.25i
  286. 1. The definition of a *(OQword*(CQ is different for forward and backward word
  287. 2. The mark is set with CTRL-^ instead of CTRL-@
  288. 3. Use CTRL-G to abort a command instead of CTRL-\
  289. 4. Use CTRL- to literally insert the next character, instead of ALT
  290. 5. CTRL-E adjusts the window to put the cursor in the middle of it
  291. 6. To get and insert a file, use ESC G instead of CTRL-G
  292. 7. To go to line n, type ESC n CTRL-[ instead of CTRL-[ n
  293. 8. You exit with CTRL-X CTRL-X and then answer the question with *(OQy*(CQ.
  294. 9. There are many new commands, windows, larger files, etc.
  295. .fi
  296. .in -0.25i
  297. .sp
  298. .SS "Emacs Key Bindings"
  299. .PP
  300. If you do not have the fIminedfR profile installed, you get the standard
  301. Emacs key bindings.
  302. These are listed below. 
  303. Commands not listed are not implemented.
  304. .sp
  305. .in +1.75i
  306. .ta +1.25i
  307. .ti -1.5i
  308. fBCURSOR MOVEMENTfR
  309. .ti -1.25i
  310. CTRL-F Forward one character.
  311. .ti -1.25i
  312. CTRL-B Backward one character.
  313. .ti -1.25i
  314. CTRL-H Same as CTRL-B: move backward one character.
  315. .ti -1.25i
  316. ESC F Forward one word.
  317. .ti -1.25i
  318. ESC B Backward one word.
  319. .ti -1.25i
  320. CTRL-A Beginning of current line.
  321. .ti -1.25i
  322. CTRL-E End of current line.
  323. .ti -1.25i
  324. CTRL-N Next line (goes to the next line).
  325. .ti -1.25i
  326. CTRL-P Previous line (goes to the previous line).
  327. .ti -1.25i
  328. CTRL-V Beginning of next screenful.
  329. .ti -1.25i
  330. ESC V Beginning of previous screenful.
  331. .ti -1.25i
  332. ESC ]~ Forward Paragraph.
  333. .ti -1.25i
  334. ESC [~ Backward Paragraph.
  335. .ti -1.25i
  336. ESC < Beginning of whole buffer.
  337. .ti -1.25i
  338. ESC > End of whole buffer.
  339. .sp
  340. .ti -1.5i
  341. fBDELETINGfR
  342. .ti -1.25i
  343. CTRL-D Deletes forward one character (the one the cursor is under).
  344. .ti -1.25i
  345. DELETE Deletes backward one character (the one to left of cursor).
  346. .ti -1.25i
  347. ESC D Kills forward one word.
  348. .ti -1.25i
  349. ESC DEL Kills backward one word.
  350. .ti -1.25i
  351. CTRL-K Kills the rest of the line (to the right of the cursor).
  352. .ti -1.25i
  353. ESC \ Deletes spaces around the cursor.
  354. .ti -1.25i
  355. ^X CTRL-O Deletes blank lines around the cursor.
  356. .sp
  357. .ti -1.5i
  358. fBCASE CHANGEfR
  359. .ti -1.25i
  360. ESC C Capitalizes word : first letter becomes uppercase; rest lower
  361. .ti -1.25i
  362. ESC L Makes the whole next word lowercase.
  363. .ti -1.25i
  364. ESC U Makes the whole next word uppercase.
  365. .ti -1.25i
  366. ^X CTRL-L Makes whole region lowercase.
  367. .ti -1.25i
  368. ^X CTRL-U Makes whole region uppercase.
  369. .sp
  370. .ti -1.5i
  371. fBSEARCHINGfR (If no string is given, previous string is used)
  372. .ti -1.25i
  373. CTRL-S Incremental Search forward; prompts *(OQI-search:*(CQ
  374. .ti -1.25i
  375. CTRL-R Reverse Incremental Search; prompts *(OQR-search:*(CQ
  376. .HS
  377. During an incremental search, the following characters have special effects:
  378. .HS
  379. .in +1.2i
  380. .ta +1.0i +0.2i
  381. .ti -1.2i
  382. *(OQnormal*(CQ  - Begin searching immediately.
  383. .ti -1.2i
  384. ^G - Cancel I-search, return to start.
  385. .ti -1.2i
  386. DEL - Erase last char, return to last match.
  387. .ti -1.2i
  388. ^S, ^R - Repeat search (or change direction).
  389. .ti -1.2i
  390. ESC or CR - Exit I-search at current point.
  391. .sp
  392. .in -1.2i
  393. .ta +1.25i
  394. .ti -1.25i
  395. ESC % Query Replace. Interactive replace. Type *(OQ?*(CQ to see options.
  396. .ti -1.25i
  397. ^X % Replace String. Like Query Replace, but not interactive
  398. .sp
  399. .ti -1.5i
  400. fBMARKING AREASfR
  401. .ti -1.25i
  402. CTRL-^ Set mark
  403. .ti -1.25i
  404. ^X CTRL-X Exchange cursor and mark.
  405. .ti -1.25i
  406. ESC H Mark Paragraph. Sets mark and cursor to surround a para.
  407. .ti -1.25i
  408. CTRL-W Wipe-out -- kills a *(OQregion*(CQ:
  409. .ti -1.25i
  410. ESC W Copy region. Like CTRL-W then CTRL-Y but modifies buffer
  411. .ti -1.25i
  412. CTRL-Y Yanks-back (un-kills) whatever you have most recently killed.
  413. .ti -1.25i
  414. ESC Y Yanks-back (un-kills) the next most recently killed text.
  415. .ti -1.25i
  416. ESC CTRL-W Append Next Kill. Accumulates stuff from several kills
  417. .sp
  418. .ti -1.5i
  419. fBFILLING TEXTfR
  420. .ti -1.25i
  421. ESC Q Fill the paragraph to the size of the Fill Column.
  422. .ti -1.25i
  423. ESC G Fill the region.
  424. .ti -1.25i
  425. ^X F Set Fill Column. ESC Q will use this line size.
  426. .ti -1.25i
  427. ^X . Set Fill Prefix. Asks for prefix string 
  428. .ti -1.25i
  429. ^X T Toggles Auto Fill Mode.
  430. .sp
  431. .ti -1.5i
  432. fBWINDOWSfR
  433. .ti -1.25i
  434. ^X 2 Make two windows (split screen).
  435. .ti -1.25i
  436. ^X 1 Make one window (delete window) (make one screen).
  437. .ti -1.25i
  438. ^X O Go to Other window.
  439. .ti -1.25i
  440. ^X ^ Grow window: makes current window bigger.
  441. .sp
  442. .ti -1.5i
  443. fBBUFFERSfR
  444. .ti -1.25i
  445. ^X CTRL-F Find a file and make a buffer for it.
  446. .ti -1.25i
  447. ^X B Select Buffer: goes to specified buffer or makes new one
  448. .ti -1.25i
  449. ^X CTRL-B Show the names of the buffers used in this editing session.
  450. .ti -1.25i
  451. ^X K Kill Buffer.
  452. .ti -1.25i
  453. ESC tilde Say buffer is not modified.
  454. .ti -1.25i
  455. ^X CTRL-M Toggle EOL mode (per-buffer flag).
  456. .sp
  457. .ti -1.5i
  458. fBKEYBOARD MACROfR
  459. .ti -1.25i
  460. ^X ( Start collecting a keyboard macro.
  461. .ti -1.25i
  462. ^X ) Stop collecting.
  463. .ti -1.25i
  464. ^X E Execute the collected macro.
  465. .ti -1.25i
  466. ^X * Display the collected macro.
  467. .sp
  468. .ti -1.5i
  469. fBFILESfR
  470. .ti -1.25i
  471. ^X CTRL-I Insert a file where cursor is.
  472. .ti -1.25i
  473. ^X CTRL-R Read a new file into current buffer.
  474. .ti -1.25i
  475. ^X CTRL-V Same as ^X ^R above (reads a file).
  476. .ti -1.25i
  477. ^X CTRL-W Write buffer out to new file name.
  478. .ti -1.25i
  479. ^X CTRL-S Save file: write out buffer to its file name.
  480. .ti -1.25i
  481. ^X CTRL-E Write region out to new file name.
  482. .sp
  483. .ti -1.5i
  484. fBMISCELLANEOUSfR
  485. .ti -1.25i
  486. ^X CTRL-Z Exit from ELLE.  
  487. .ti -1.25i
  488. ^X ! Escape to shell (CTRL-D to return)
  489. .ti -1.25i
  490. CTRL-O Open up line
  491. .ti -1.25i
  492. LINEFEED Same as typing RETURN and TAB.
  493. .ti -1.25i
  494. CTRL-T Transposes characters.
  495. .ti -1.25i
  496. ESC T Transposes words.
  497. .ti -1.25i
  498. CTRL-U Makes the next command happen four times.
  499. .ti -1.25i
  500. CTRL-U number Makes the next command happen *(OQnumber*(CQ times.  
  501. .ti -1.25i
  502. ESC number Same as CTRL-U number.
  503. .ti -1.25i
  504. CTRL-L Refreshes screen.
  505. .ti -1.25i
  506. CTRL-U CTRL-L Refresh only the line cursor is on.
  507. .ti -1.25i
  508. CTRL-U n CTRL-L Change window so the cursor is on line n
  509. .ti -1.25i
  510. CTRL-Q Quote: insert the next character no matter what it is.
  511. .ti -1.25i
  512. CTRL-G Quit: use to avoid answering a question.
  513. .ti -1.25i
  514. ESC ; Inserts comment (for writing C programs).
  515. .ti -1.25i
  516. ESC I Inserts indentation equal to previous line.
  517. .ti -1.25i
  518. ESC M Move to end of this line's indentation.
  519. .ti -1.25i
  520. CTRL-_ Describe a command (if the command database is online)
  521. .sp
  522. .ti -1.5i
  523. fBUNUSED CONTROLSfR
  524. .ti -1.25i
  525. CTRL-C Not used.
  526. .ti -1.25i
  527. CTRL-Z Not used.
  528. .ti -1.25i
  529. CTRL-] Not used.
  530. .fi
  531. .in -1.75i
  532. .sp
  533. .SP 0.5
  534. .SS "ELLE profile"
  535. .PP
  536. It is possible to create your own user profile.
  537. The mechanism is different from Emacs, since ELLE does not have Mock Lisp.
  538. Proceed as follows.
  539. .LI
  540. .IT
  541. Modify fI.ellepro.efR to suit your taste.
  542. .IT
  543. Install fI.ellepro.efR in your home directory.
  544. .IT
  545. Type:
  546. .HS
  547. .Cx "ellec (enProfile"
  548. .HS
  549. .IT
  550. Check to see if fI.ellepro.b1fR has been created.
  551. If it has, you are ready to go.
  552. .LX
  553. .SS "Author"
  554. .PP
  555. ELLE was written by Ken Harrenstien of SRI (klh@sri.com).