Vi: Difference between revisions
Content added Content deleted
m (:wq) |
m (:2,5s/old/new/) |
||
Line 2: | Line 2: | ||
It is the [[wp:Category:Unix text editors|standard-editor]] on most Unix-systems. |
It is the [[wp:Category:Unix text editors|standard-editor]] on most Unix-systems. |
||
The current versions have almost everything you can expect from an editor: |
The current versions have almost everything you can expect from an editor: <br> |
||
scripting, macro-recording, syntax-coloring, UTF-8, Unicode, GUI etc. |
scripting, macro-recording, syntax-coloring, UTF-8, Unicode, GUI etc. |
||
However, the basic concept is quite old, e.g. it also has an '''ex'''-mode |
However, the basic concept is quite old, e.g. it also has an '''ex'''-mode <br> |
||
that was designed to work with old teletype-devices. |
that was designed to work with old teletype-devices. |
||
There are several variants: |
There are several variants: |
||
* [[BusyBox]] - includes a tiny vi clone |
* [[BusyBox]] - includes a tiny vi clone |
||
* [[wp:Elvis (text editor)|Elvis]] |
* [[wp:Elvis (text editor)|Elvis]] |
||
* [[wp:nvi|nvi]] - "new vi" |
* [[wp:nvi|nvi]] - "new vi" |
||
* [[wp:vile (editor)|vile]] - "VI Like Emacs" |
* [[wp:vile (editor)|vile]] - "VI Like Emacs" |
||
* [[wp:Vim (text editor)|vim]] - "vi-improved" [http://www.vim.org VIM] current version: Vim 7.4.507 |
* [[wp:Vim (text editor)|vim]] - "vi-improved" [http://www.vim.org VIM] current version: Vim 7.4.507 (2013-07) |
||
Line 22: | Line 23: | ||
There is a "normal" mode that acts as command-mode, and an insert-mode: |
There is a "normal" mode that acts as command-mode, and an insert-mode: |
||
<pre> |
<pre> |
||
i - insert text at cursor-position |
i - insert text at cursor-position |
||
a - append text at end-of-line |
a - append text at end-of-line |
||
ESC - abort command, i.e. end insert-mode, and return to normal/commandmode. |
ESC - abort command, i.e. end insert-mode, and return to normal/commandmode. |
||
h j k l - move cursor: left/down/up/right (use with count: "5k" move 5 lines up ) |
|||
Cursor-keys should work as well |
Cursor-keys should work as well |
||
w b - move cursor one word forward / backward (with count: "3w" move 5 words forward ) |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
x - delete |
x - delete character ( use with count: "5x" deletes 5 char ) |
||
dd - delete line ( |
dd - delete line ( use with count: "2dd" deletes 2 lines ) |
||
p - paste: insert previously deleted text at current position |
p - paste: insert previously deleted text at current position |
||
u - undo |
u - undo |
||
r R - replace single char / enter Replace-mode (like insert, but overwrites) |
|||
. - repeat last change-command |
. - repeat last change-command |
||
: is the prefix for commands: |
: is the prefix for commands: |
||
Line 42: | Line 46: | ||
:set ruler - toggle display of current line-number in status-line |
:set ruler - toggle display of current line-number in status-line |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
:2,5s/old/new/ - substitute: in lines 2..5 replace "old" with "new" |
|||
⚫ | |||
:w - write current file ( :w! to force it ) |
:w - write current file ( :w! to force it ) |
||
:q - quit ( :q! to force it. Combined: ":wq!" ) |
:q - quit ( :q! to force it. Combined: ":wq!" ) |
||
</pre> |
</pre> |
||
Revision as of 04:02, 11 November 2014
VI (for "visual editor") is a text editor for "plain text".
It is the standard-editor on most Unix-systems.
The current versions have almost everything you can expect from an editor:
scripting, macro-recording, syntax-coloring, UTF-8, Unicode, GUI etc.
However, the basic concept is quite old, e.g. it also has an ex-mode
that was designed to work with old teletype-devices.
There are several variants:
- BusyBox - includes a tiny vi clone
- Elvis
- nvi - "new vi"
- vile - "VI Like Emacs"
- vim - "vi-improved" VIM current version: Vim 7.4.507 (2013-07)
Command-Summary
Usage: vi file.txt
There is a "normal" mode that acts as command-mode, and an insert-mode:
i - insert text at cursor-position a - append text at end-of-line ESC - abort command, i.e. end insert-mode, and return to normal/commandmode. h j k l - move cursor: left/down/up/right (use with count: "5k" move 5 lines up ) Cursor-keys should work as well w b - move cursor one word forward / backward (with count: "3w" move 5 words forward ) G - Goto last line ( "33G" goto line 33 ) /abc - find text "abc" n - find next match x - delete character ( use with count: "5x" deletes 5 char ) dd - delete line ( use with count: "2dd" deletes 2 lines ) p - paste: insert previously deleted text at current position u - undo r R - replace single char / enter Replace-mode (like insert, but overwrites) . - repeat last change-command : is the prefix for commands: :help - show help-pages :set ruler - toggle display of current line-number in status-line :r file2.txt - read: insert contents of file2.txt at current position :33 - move to line 33 :2,5s/old/new/ - substitute: in lines 2..5 replace "old" with "new" :w - write current file ( :w! to force it ) :q - quit ( :q! to force it. Combined: ":wq!" )