diff options
-rw-r--r-- | Readme.md | 58 |
1 files changed, 29 insertions, 29 deletions
@@ -2,22 +2,22 @@ ## About -It is a vim plugin like google-doc, which allows multiple users sharing and -editing a file at the same time without sharing only one cursor. This is useful +It is a vim plugin like google-doc, which allows multiple users to share and +edit a file at the same time, without sharing only one cursor. This is useful when a group needs to create a report with plain-text source such as Markdown, -asciidoc, LaTex, etc. +asciidoc, LaTeX, etc.  ## Features -- Each user has its own cursor, so usres can edit the different place in the +- Each user has their own cursor, so users can edit different places in the file at same time. - You can see where other cursors are. -- RO/RW authority mechanism let the owner be able to restrict a user being read - only mode. +- RO/RW authority mechanism allows the owner to restrict a user to read only + mode. - Each client can have different encodings. -- Non-ANSI, such as chinese characters are allowed. +- Non-ANSI, such as Chinese characters are allowed. - Live update in Insert mode ## Quick start @@ -44,9 +44,9 @@ created the server), you can: #### Sync -Default it will do sync each time you move the cursor, insert a character, etc, -but it might cause your vim be a little bit lag. So you might set it to be only -sync when you type the command (Detail sees below). +By default, ShrVim syncs each time you move the cursor, insert a character, etc. +This might cause your vim be a little bit laggy, so you might set it to only sync +when you type the command (Detail sees below). ``` :ShrVimSync @@ -62,10 +62,10 @@ sync when you type the command (Detail sees below). #### User list -Create an file stores the user list (you can use /dev/null if you want to skip -this step). In the file, each row should contains three word to represent a -user: ```<identity> <nickname> <authorith>``` where authority can be only "RO" -or "RW". Empty line is allowed. +Create a file that stores the user list (you can use /dev/null if you want to skip +this step). In the file, each row should contain three attributes to represent a +user: ```<identity> <nickname> <authority>``` where <authority> can only be either "RO" +or "RW". Empty lines are allowed. Example: ``` @@ -76,20 +76,20 @@ jkl238 user3 RO sdjfb8 user4 RO ``` -This file is optional because you can add/delete the user after starting the -server, it has an simple command-line ui. +This file is optional because you can add/delete users dynamically after starting the +server, there is a simple command-line ui. -**IMPORTANT:** Each user should have different identity. +**IMPORTANT:** Each user should have a different identity. -#### Start the server +#### Starting the server ``` server/src/shrvim_server.py <port> <user_list_file> <storage_file> ``` -Where ```<Storage_file>``` should contains the initial context of the shared -file, and during editing, the server will stores the context of the latest -version into it. If you do not want such the file, you can use /dev/null again. +Where ```<Storage_file>``` should contain the initial content of the shared +file. Then during editing, the server will store the content of the latest +version into it. If you do not want such file, you can use /dev/null as again. After this, you will see a command-line ui. @@ -101,7 +101,7 @@ Type the command exit ``` -## Prerequisite +## Prerequisites ### Client @@ -113,29 +113,29 @@ exit ## Settings -If your vim supports both +python and +python3, and you want to force this -plugin use python2, you can type: +If your vim supports both +python2 and +python3, and you want to force ShrVim to +use python2, you can type: ``` :ShrVimTryUsePython2 ``` -On the opposite, there is a command: +Otherwise, you can type: ``` :ShrVimTryUsePython3 ``` -About the frequency of syncing, you can setup it by: +To set the frequency of syncing, you can use: ```let [g/b]:shr_vim_auto_sync_level = 3/2/1/0``` (Default 3) -Where 0 means you shoul always call ```:ShrVimSync``` by manual. And it is a +Where 0 means clients should always call ```:ShrVimSync``` by manual. And it is a good idea to map a key to this command like: ```:map <F5> :ShrVimSync<CR>``` ## Issues -- Server might be inefficient when too much users online. -- If someone use utf8 to insert an utf8 only character, the one use big5 or +- Server might be inefficient with too many users online. +- If a client uses utf8 to insert an utf8 only character, other clients using big5 or something similar will crash. |