Difference between revisions of "Vi"

From NetHackWiki
Jump to navigation Jump to search
(mention Vim)
(kbd + add some more keys and table them.)
Line 3: Line 3:
 
The programmers of vi did not care much about moving the cursor diagonally. The programmers of [[Rogue (game)]] adopted the [hjkl] movement system (likely because their keyboards lacked both numeric keypads and separate arrow keys) and added [yubn] for diagonal movement. NetHack adopts this [[yuhjklbn]] system.
 
The programmers of vi did not care much about moving the cursor diagonally. The programmers of [[Rogue (game)]] adopted the [hjkl] movement system (likely because their keyboards lacked both numeric keypads and separate arrow keys) and added [yubn] for diagonal movement. NetHack adopts this [[yuhjklbn]] system.
  
== Strategy ==
+
These days, the one reason that you might need to know "vi" is if you play on [[nethack.alt.org]] or [[slashem.crash-override.net]]. If you [[telnet]] in and try to edit your [[nethackrc]], you will find yourself in a vi-like editor called '''virus'''.
These days, the one reason that you might need to know "vi" is if you play on [[nethack.alt.org]] or [[slashem.crash-override.net]]. If you [[telnet]] in and try to edit your [[nethackrc]], you will find yourself in a vi-like editor. Some brief hints:
+
 
 +
== Usage ==
 +
 
 +
Vi has two different ''modes'': one for giving commands to the editor, and one for editing the text. The editor starts out in the command-mode.
 +
 
 +
{| class="prettytable"
 +
! Keys !! Command
 +
|-
 +
| {{kbd|i}} || Enter editing mode. (Insert)
 +
|-
 +
| {{kbd|a}} || Enter editing mode. (Append)
 +
|-
 +
| {{kbd|Esc}} || Return from editing mode back to command-mode.
 +
|-
 +
| {{kbd|h}}, {{kbd|j}}, {{kbd|k}} and {{kbd|l}} || Move cursor left, down, up and right
 +
|-
 +
| {{kbd|$}} || Move cursor to the end of line.
 +
|-
 +
| {{kbd|^}} || Move cursor to the beginning of line.
 +
|-
 +
| {{kbd|G}} || Move cursor to the end of the file.
 +
|-
 +
| {{kbd|:}}{{kbd|w}}{{kbd|Enter}} || Save changes to file.
 +
|-
 +
| {{kbd|:}}{{kbd|q}}{{kbd|!}}{{kbd|Enter}} || Quit without saving changes.
 +
|-
 +
| {{kbd|x}} || Delete the character under the cursor.
 +
|-
 +
| {{kbd|d}}{{kbd|d}} || Delete the line under the cursor.
 +
|-
 +
| {{kbd|p}} || Paste deleted text.
 +
|}
  
* Use the '''[hjkl]''' keys to move the cursor.
 
* Press '''[x]''' to delete the character that the cursor is on.
 
* Press '''[d] [d]''' to delete the line that the cursor is on.
 
* Press '''[i]''' to enter insert mode, type something, then press '''[Esc]''' to return to command mode.
 
* Move the cursor to the last character of the line, then press '''[a]''' to enter insert mode, type something, then press '''[Esc]''' to return to command mode.
 
* Press '''[:] [w] [q] [RETURN]''' to save and quit.
 
* Press '''[:] [q] [!] [RETURN]''' to quit without saving; this is useful if you messed something.
 
  
 
You will find vi upon many [[Unix]] systems, though some [[GNU/Linux]] distros (notably [[Debian]] and [[Gentoo]]) leave it away from of the core system. To learn about vi in general, you could try to start with [http://www.bbc.co.uk/dna/h2g2/A306857 H2G2's brief description vi], then move to [http://everything2.com/index.pl?node_id=13588 vi@Everything2.com] for commands and tutorials. [[Wikipedia:Vi]] reveals the history of Vi, while [[Wiki:ViEditor]] explains how to pronounce "vi" and links to comparisons with [[Emacs]]. There is also improved version of Vi called [[w:c:vim|Vim]].
 
You will find vi upon many [[Unix]] systems, though some [[GNU/Linux]] distros (notably [[Debian]] and [[Gentoo]]) leave it away from of the core system. To learn about vi in general, you could try to start with [http://www.bbc.co.uk/dna/h2g2/A306857 H2G2's brief description vi], then move to [http://everything2.com/index.pl?node_id=13588 vi@Everything2.com] for commands and tutorials. [[Wikipedia:Vi]] reveals the history of Vi, while [[Wiki:ViEditor]] explains how to pronounce "vi" and links to comparisons with [[Emacs]]. There is also improved version of Vi called [[w:c:vim|Vim]].
 
 
[[Category:Development]]
 
[[Category:Development]]

Revision as of 16:21, 20 April 2009

Around here, Vi (being vee eye, not six) is most notorious as the origin of the use of [hjkl] for movement. Vi, short for VIsual editor, is a classic but controversial text editor for Unix.

The programmers of vi did not care much about moving the cursor diagonally. The programmers of Rogue (game) adopted the [hjkl] movement system (likely because their keyboards lacked both numeric keypads and separate arrow keys) and added [yubn] for diagonal movement. NetHack adopts this yuhjklbn system.

These days, the one reason that you might need to know "vi" is if you play on nethack.alt.org or slashem.crash-override.net. If you telnet in and try to edit your nethackrc, you will find yourself in a vi-like editor called virus.

Usage

Vi has two different modes: one for giving commands to the editor, and one for editing the text. The editor starts out in the command-mode.

Keys Command
i Enter editing mode. (Insert)
a Enter editing mode. (Append)
Esc Return from editing mode back to command-mode.
h, j, k and l Move cursor left, down, up and right
$ Move cursor to the end of line.
^ Move cursor to the beginning of line.
G Move cursor to the end of the file.
:wEnter Save changes to file.
:q!Enter Quit without saving changes.
x Delete the character under the cursor.
dd Delete the line under the cursor.
p Paste deleted text.


You will find vi upon many Unix systems, though some GNU/Linux distros (notably Debian and Gentoo) leave it away from of the core system. To learn about vi in general, you could try to start with H2G2's brief description vi, then move to vi@Everything2.com for commands and tutorials. Wikipedia:Vi reveals the history of Vi, while Wiki:ViEditor explains how to pronounce "vi" and links to comparisons with Emacs. There is also improved version of Vi called Vim.