IVim

From HaFrWiki
Jump to: navigation, search

Boogaloo iVim is a text editor on iOS based on Vi IMproved by Bram Moolenaar.

vi is a screen-oriented text editor originally created for the Unix operating system. The portable subset of the behavior of vi and programs based on it, and the ex editor language supported within these programs, is described by (and thus standardized by) the Single Unix Specification and POSIX. The original code for vi was written by Bill Joy in 1976, as the visual mode for a line editor called ex that Joy had written with Chuck Haley. [1]


Getting help on iVim

Apple iCloud

All iCloud Documents are store in ~/Library/Mobile\ Documents/com~apple~CloudDocs. So:
Start by opening Terminal and then

$ cd ~/Library/Mobile\ Documents/com~apple~CloudDocs
$ ls -Al
.DS_Store
..
bash

Interchange iMac with iPad

Let us assume that on an iMac there is a file created in the subdirectory ./Documents/Text on the iCloud Drive named Example.txt.
The easiest way to open this file on an iPad. This method works for iVim but also for other Apps.

  • Open the App Files.
  • Choose iCloud Drive under the tab Location in the left pane.
  • Navigate to Documents and then Text.
  • Now hold your finger on the filename Example and choose Share from the appearing list.
  • On the 2nd row (with Airdrop, Messages, Mail...) go to the where More. Unless you see the App you wanna use for editing this file.
  • From the appearing App list choose the required App. In this case that should be iVim.
  • The file is now opened in iVim. Make some changes and write the file to disk using the vim command :w<enter>.
  • Now iVim is showing where it save the result:
    /private/var/mobile/Library/Mobile Documents/com~apple~CloudDocs/Documents/Text/Example.txt
  • on an iMac this path is ~/Documents/Text/Example.txt

Where are my Files

Every App on an iPad has its own local storage. So you can not edit files that live in other Apps local storage.
Can you edit files in the iCloud?


Which files can be edited.

Basic Vi Commands

vi is one of the most commonly used editor program and included by default with every UNIX and Linux system. vi basically operates in 3 modes:

  • vi mode – Standard Mode vi starts in.
  • command mode – Command Mode vi after pressing the key colon (“:”).
  • input mode – Editing Mode actual can edit text.

vi mode

Command Action
k Move one line upwards
l Move one character to the right
h Move one character to the left
w Move one word to the right
W Move one word to the right past punctuation
b Move one word to the left
B Move one word to the left past punctuation
e Move to the end of the current word
1G Move to the beginning of the file
H Move to the top of the current screen
M Move to the middle of the current screen
L Move to the bottom of the current screen
Ctrl-G Move to the last line in the file
Ctrl-F Move one screen towards the end of the file
Ctrl-D Move 1/2 screen towards the end of the file
Ctrl-B Move one screen towards the beginning of the file
Ctrl-U Move 1/2 screen towards the beginning of the file
Ctrl-L Refresh the screen
5G Move to line 5 of the file (5 can be any line number)
/string Find text string forward
?string Find text string backward
n Find forward next string instance after a string search
N Find backward next string instance after a string search
ZZ Save the file exit vi
x Delete the character at the cursor
X Delete the character behind the cursor
dd Delete the line the cursor is on
10dd Delete the 10 lines following the cursor
yy Yank the current line
p Put the yanked line below the current line
P Put the yanked line above the current line

Command mode

Command Action
:g/X/s//x/g Global Search and replace (X=search object x=replace object)
:r file Import a file into the current file
:34 r file Import a file into the current file after line 34
:w Write out the file to save changes
:w file Write the file to named file
:wq Save the file exit vi
:w! Force save the file
:q! Quit vi but don’t save changes


Input mode

Command Action
a Insert characters to the right of the cursor
A Append characters to the current line
i Insert characters to the left of cursor
I Insert characters at the beginning of the current line
o Add a new line after current line
O Insert a new line above the current line

Tutorials

See also

top

Reference

top

  1. Wikipedia vi, The text is based on the vi page on wikipedia.