vi :exusage :visuage2009年01月19日 12時18分27秒

最近 vi に :exusage と :viusage というコマンドがあるのを見つけた。これが本物のコマンドなのか、エリアスなのかは、まだ良く分からない。また、全ての vi に実装されているのかどうかも知らない。

取り敢えず、以下の出力は FreeBSD 7.1-RELEASE の vi の物。


          ^D: scroll lines
           !: filter lines through commands or run commands
           #: display numbered lines
           &: repeat the last subsitution
           *: execute a buffer
           <: shift lines left
           =: display line number
           >: shift lines right
           @: execute a buffer
      append: append input to a line
  abbreviate: specify an input abbreviation
        args: display file argument list
          bg: put a foreground screen into the background
      change: change lines to input
          cd: change the current directory
       chdir: change the current directory
        copy: copy lines elsewhere in the file
      cscope: create a set of tags using a cscope command
      delete: delete lines from the file
     display: display buffers, connections, screens or tags
     [Ee]dit: begin editing another file
       [Ee]x: begin editing another file
     exusage: display ex command usage statement
        file: display (and optionally set) file name
       [Ff]g: bring a backgrounded screen into the foreground
      global: execute a global command on lines matching an RE
        help: display help statement
      insert: insert input before a line
        join: join lines into a single line
           k: mark a line position
        list: display lines in an unambiguous form
        move: move lines elsewhere in the file
        mark: mark a line position
         map: map input or commands to one or more keys
      mkexrc: write a .exrc file
     [Nn]ext: edit (and optionally specify) the next file
      number: change display to number lines
        open: enter "open" mode (not implemented)
       print: display lines
        perl: run the perl interpreter with the command
      perldo: run the perl interpreter with the command, on each line
    preserve: preserve an edit session for recovery
 [Pp]revious: edit the previous file in the file argument list
         put: append a cut buffer to the line
        quit: exit ex/vi
        read: append input from a command or file to the line
     recover: recover a saved file
      resize: grow or shrink the current screen
      rewind: re-edit all the files in the file argument list
     [Rr]tag: edit the file containing the tag
           s: substitute on lines matching an RE
      script: run a shell in a screen
         set: set options (use ":set all" to see all options)
       shell: suspend editing and run a shell
      source: read a file of ex commands
        stop: suspend the edit session
     suspend: suspend the edit session
           t: copy lines elsewhere in the file
      [Tt]ag: edit the file containing the tag
     tagnext: move to the next tag
      tagpop: return to the previous group of tags
     tagprev: move to the previous tag
      tagtop: discard all tags
         tcl: run the tcl interpreter with the command
        undo: undo the most recent change
unabbreviate: delete an abbreviation
       unmap: delete an input or command map
           v: execute a global command on lines NOT matching an RE
     version: display the program version information
     version: display the program version information
      visual: enter visual (vi) mode from ex mode
   [Vv]isual: edit another file (from vi mode only)
     viusage: display vi key usage statement
       write: write the file
          wn: write the file and switch to the next file
          wq: write the file and exit
         xit: exit
        yank: copy lines to a cut buffer
           z: display different screens of the file
           ~: replace previous RE with previous replacement string,


^A search forward for cursor word
^B scroll up by screens
^C interrupt an operation (e.g. read, write, search)
^D scroll down by half screens (setting count)
^E scroll down by lines
^F scroll down by screens
^G file status
^H move left by characters
^J move down by lines
^L redraw screen
^M move down by lines (to first non-blank)
^N move down by lines
^P move up by lines
^R redraw screen
^T tag pop
^U half page up (set count)
^V input a literal character
^W move to next screen
^Y page up by lines
^Z suspend editor
^[  exit input mode, cancel partial commands
 ^\ switch to ex mode
^] tag push cursor word
^^ switch to previous file
    move right by columns
 ! filter through command(s) to motion
 # number increment/decrement
 $ move to last column
 % move to match
 & repeat substitution
 ' move to mark (to first non-blank)
 ( move back sentence
 ) move forward sentence
 + move down by lines (to first non-blank)
 , reverse last F, f, T or t search
 - move up by lines (to first non-blank)
 . repeat the last command
 / search forward
 0 move to first character
 : ex command
 ; repeat last F, f, T or t search
 < shift lines left to motion
 > shift lines right to motion
 ? search backward
 @ execute buffer
 A append to the line
 B move back bigword
 C change to end-of-line
 D delete to end-of-line
 E move to end of bigword
 F character in line backward search
 G move to line
 H move to count lines from screen top
 I insert before first nonblank
 J join lines
 L move to screen bottom
 M move to screen middle
 N reverse last search
 O insert above line
 P insert before cursor from buffer
 Q switch to ex mode
 R replace characters
 S substitute for the line(s)
 T before character in line backward search
 U Restore the current line
 W move to next bigword
 X delete character before cursor
 Y copy line
ZZ save file and exit
[[ move back section
]] move forward section
 ^ move to first non-blank
 _ move to first non-blank
 ` move to mark
 a append after cursor
 b move back word
 c change to motion
 d delete to motion
 e move to end of word
 f character in line forward search
 h move left by columns
 i insert before cursor
 j move down by lines
 k move up by lines
 l move right by columns
 m set mark
 n repeat last search
 o append after line
 p insert after cursor from buffer
 r replace character
 s substitute character
 t before character in line forward search
 u undo last change
 w move to next word
 x delete character
 y copy text to motion into a cut buffer
 z reposition the screen
 { move back paragraph
 | move to column
 } move forward paragraph
 ~ reverse case