{
    "content": [
        {
            "type": "text",
            "text": "# vi (info)\n\n## NAME\n\nvim - Vi IMproved, a programmer's text editor\n\n## SYNOPSIS\n\nvim [options] [file ..]\nvim [options] -\nvim [options] -t tag\nvim [options] -q [errorfile]\nex\nview\ngvim gview evim eview\nrvim rview rgvim rgview\n\n## DESCRIPTION\n\nVim  is a text editor that is upwards compatible to Vi.  It can be used\nto edit all kinds of plain text.  It is especially useful  for  editing\nprograms.\n\n## Sections\n\n- **NAME**\n- **SYNOPSIS**\n- **DESCRIPTION** (1 subsections)\n- **OPTIONS** (4 subsections)\n- **ON-LINE HELP**\n- **FILES**\n- **SEE ALSO**\n- **AUTHOR**\n- **BUGS**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "vi",
        "section": "",
        "mode": "info",
        "summary": "vim - Vi IMproved, a programmer's text editor",
        "synopsis": "vim [options] [file ..]\nvim [options] -\nvim [options] -t tag\nvim [options] -q [errorfile]\nex\nview\ngvim gview evim eview\nrvim rview rgvim rgview",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [
            {
                "flag": "",
                "long": "--remote-silent",
                "arg": null,
                "description": "As --remote, but without the warning when no server is found."
            },
            {
                "flag": "",
                "long": "--remote-wait",
                "arg": null,
                "description": "As --remote, but Vim does not exit until the files have been edited."
            },
            {
                "flag": "",
                "long": "--remote-wait-silent",
                "arg": null,
                "description": "As --remote-wait, but without the warning when no server is found."
            },
            {
                "flag": "",
                "long": "--serverlist",
                "arg": null,
                "description": "List the names of all Vim servers that can be found. --servername {name} Use {name} as the server name. Used for the current Vim, unless used with a --remote argument, then it's the name of the server to connect to. --socketid {id} GTK GUI only: Use the GtkPlug mechanism to run gvim in an- other window. --startuptime {file} During startup write timing messages to the file {fname}. --version Print version information and exit."
            }
        ],
        "examples": [],
        "see_also": [
            {
                "name": "vimtutor",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/vimtutor/1/json"
            }
        ],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 10,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 42,
                "subsections": [
                    {
                        "name": "-q [errorfile]",
                        "lines": 31,
                        "flag": "-q",
                        "arg": "[errorfile]"
                    }
                ]
            },
            {
                "name": "OPTIONS",
                "lines": 233,
                "subsections": [
                    {
                        "name": "--remote-silent",
                        "lines": 3,
                        "long": "--remote-silent"
                    },
                    {
                        "name": "--remote-wait",
                        "lines": 3,
                        "long": "--remote-wait"
                    },
                    {
                        "name": "--remote-wait-silent",
                        "lines": 3,
                        "long": "--remote-wait-silent"
                    },
                    {
                        "name": "--serverlist",
                        "lines": 16,
                        "long": "--serverlist"
                    }
                ]
            },
            {
                "name": "ON-LINE HELP",
                "lines": 7,
                "subsections": []
            },
            {
                "name": "FILES",
                "lines": 48,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "AUTHOR",
                "lines": 5,
                "subsections": []
            },
            {
                "name": "BUGS",
                "lines": 10,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "vim - Vi IMproved, a programmer's text editor\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "vim [options] [file ..]\nvim [options] -\nvim [options] -t tag\nvim [options] -q [errorfile]\n\nex\nview\ngvim gview evim eview\nrvim rview rgvim rgview\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "Vim  is a text editor that is upwards compatible to Vi.  It can be used\nto edit all kinds of plain text.  It is especially useful  for  editing\nprograms.\n\nThere  are a lot of enhancements above Vi: multi level undo, multi win-\ndows and buffers, syntax highlighting, command line  editing,  filename\ncompletion,   on-line   help,   visual  selection,  etc..   See  \":help\nvidiff.txt\" for a summary of the differences between Vim and Vi.\n\nWhile running Vim a lot of help can be obtained from the  on-line  help\nsystem, with the \":help\" command.  See the ON-LINE HELP section below.\n\nMost often Vim is started to edit a single file with the command\n\nvim file\n\nMore generally Vim is started with:\n\nvim [options] [filelist]\n\nIf the filelist is missing, the editor will start with an empty buffer.\nOtherwise exactly one out of the following four may be used  to  choose\none or more files to be edited.\n\nfile ..     A  list  of  filenames.   The first one will be the current\nfile and read into the buffer.  The cursor  will  be  posi-\ntioned on the first line of the buffer.  You can get to the\nother files with the \":next\" command.  To edit a file  that\nstarts with a dash, precede the filelist with \"--\".\n\n-           The  file  to  edit  is read from stdin.  Commands are read\nfrom stderr, which should be a tty.\n\n-t {tag}    The file to edit and the initial cursor position depends on\na  \"tag\",  a sort of goto label.  {tag} is looked up in the\ntags file, the associated file becomes the current file and\nthe  associated  command  is executed.  Mostly this is used\nfor C programs, in which case {tag}  could  be  a  function\nname.  The effect is that the file containing that function\nbecomes the current file and the cursor  is  positioned  on\nthe start of the function.  See \":help tag-commands\".\n",
                "subsections": [
                    {
                        "name": "-q [errorfile]",
                        "content": "Start  in  quickFix mode.  The file [errorfile] is read and\nthe first error is displayed.  If [errorfile]  is  omitted,\nthe  filename  is obtained from the 'errorfile' option (de-\nfaults to \"AztecC.Err\" for the Amiga, \"errors.err\" on other\nsystems).   Further  errors can be jumped to with the \":cn\"\ncommand.  See \":help quickfix\".\n\nVim behaves differently, depending on the name of the command (the exe-\ncutable may still be the same file).\n\nvim       The \"normal\" way, everything is default.\n\nex        Start  in Ex mode.  Go to Normal mode with the \":vi\" command.\nCan also be done with the \"-e\" argument.\n\nview      Start in read-only mode.  You will be protected from  writing\nthe files.  Can also be done with the \"-R\" argument.\n\ngvim gview\nThe GUI version.  Starts a new window.  Can also be done with\nthe \"-g\" argument.\n\nevim eview\nThe GUI version in easy mode.  Starts a new window.  Can also\nbe done with the \"-y\" argument.\n\nrvim rview rgvim rgview\nLike the above, but with restrictions.  It will not be possi-\nble to start shell commands, or suspend  Vim.   Can  also  be\ndone with the \"-Z\" argument.\n",
                        "flag": "-q",
                        "arg": "[errorfile]"
                    }
                ]
            },
            "OPTIONS": {
                "content": "The  options may be given in any order, before or after filenames.  Op-\ntions without an argument can be combined after a single dash.\n\n+[num]      For the first file the cursor will be  positioned  on  line\n\"num\".   If \"num\" is missing, the cursor will be positioned\non the last line.\n\n+/{pat}     For the first file the cursor will  be  positioned  in  the\nline  with  the  first  occurrence  of  {pat}.   See \":help\nsearch-pattern\" for the available search patterns.\n\n+{command}\n\n-c {command}\n{command} will be executed after the first  file  has  been\nread.   {command}  is interpreted as an Ex command.  If the\n{command} contains spaces it must  be  enclosed  in  double\nquotes  (this depends on the shell that is used).  Example:\nvim \"+set si\" main.c\nNote: You can use up to 10 \"+\" or \"-c\" commands.\n\n-S {file}   {file} will be sourced after the first file has been  read.\nThis  is  equivalent  to -c \"source {file}\".  {file} cannot\nstart with '-'.  If {file} is omitted \"Session.vim\" is used\n(only works when -S is the last argument).\n\n--cmd {command}\nLike  using  \"-c\",  but the command is executed just before\nprocessing any vimrc file.  You can use up to 10  of  these\ncommands, independently from \"-c\" commands.\n\n-A          If  Vim  has  been compiled with ARABIC support for editing\nright-to-left oriented files and Arabic  keyboard  mapping,\nthis  option  starts  Vim  in Arabic mode, i.e. 'arabic' is\nset.  Otherwise an error message is given and Vim aborts.\n\n-b          Binary mode.  A few options will be set that makes it  pos-\nsible to edit a binary or executable file.\n\n-C          Compatible.   Set  the 'compatible' option.  This will make\nVim behave mostly like Vi, even though a  .vimrc  file  ex-\nists.\n\n-d          Start in diff mode.  There should between two to eight file\nname arguments.  Vim will open all the files and show  dif-\nferences between them.  Works like vimdiff(1).\n\n-d {device} Open  {device}  for  use as a terminal.  Only on the Amiga.\nExample: \"-d con:20/30/600/150\".\n\n-D          Debugging.  Go to debugging mode when executing  the  first\ncommand from a script.\n\n-e          Start  Vim  in Ex mode, just like the executable was called\n\"ex\".\n\n-E          Start Vim in improved Ex mode, just like the executable was\ncalled \"exim\".\n\n-f          Foreground.  For the GUI version, Vim will not fork and de-\ntach from the shell it was started in.  On the  Amiga,  Vim\nis  not restarted to open a new window.  This option should\nbe used when Vim is executed by a program  that  will  wait\nfor  the  edit session to finish (e.g. mail).  On the Amiga\nthe \":sh\" and \":!\" commands will not work.\n\n--nofork    Foreground.  For the GUI version, Vim will not fork and de-\ntach from the shell it was started in.\n\n-F          If  Vim  has  been  compiled with FKMAP support for editing\nright-to-left oriented files and  Farsi  keyboard  mapping,\nthis  option  starts  Vim  in  Farsi mode, i.e. 'fkmap' and\n'rightleft' are set.  Otherwise an error message  is  given\nand Vim aborts.\n\n-g          If  Vim has been compiled with GUI support, this option en-\nables the GUI.  If no GUI support was compiled in, an error\nmessage is given and Vim aborts.\n\n-h          Give a bit of help about the command line arguments and op-\ntions.  After this Vim exits.\n\n-H          If Vim has been compiled with RIGHTLEFT support for editing\nright-to-left  oriented  files and Hebrew keyboard mapping,\nthis option starts Vim in Hebrew  mode,  i.e.  'hkmap'  and\n'rightleft'  are  set.  Otherwise an error message is given\nand Vim aborts.\n\n-i {viminfo}\nSpecifies the filename to use when reading or  writing  the\nviminfo  file,  instead  of the default \"~/.viminfo\".  This\ncan also be used to skip the use of the .viminfo  file,  by\ngiving the name \"NONE\".\n\n-L          Same as -r.\n\n-l          Lisp mode.  Sets the 'lisp' and 'showmatch' options on.\n\n-m          Modifying  files  is  disabled.  Resets the 'write' option.\nYou can still modify the buffer, but writing a file is  not\npossible.\n\n-M          Modifications  not  allowed.   The 'modifiable' and 'write'\noptions will be unset, so that changes are not allowed  and\nfiles  can  not be written.  Note that these options can be\nset to enable making modifications.\n\n-N          No-compatible mode.  Resets the 'compatible' option.   This\nwill  make Vim behave a bit better, but less Vi compatible,\neven though a .vimrc file does not exist.\n\n-n          No swap file will be used.  Recovery after a crash will  be\nimpossible.   Handy  if  you  want to edit a file on a very\nslow medium (e.g. floppy).  Can also  be  done  with  \":set\nuc=0\".  Can be undone with \":set uc=200\".\n\n-nb         Become an editor server for NetBeans.  See the docs for de-\ntails.\n\n-o[N]       Open N windows stacked.  When N is omitted, open one window\nfor each file.\n\n-O[N]       Open  N  windows side by side.  When N is omitted, open one\nwindow for each file.\n\n-p[N]       Open N tab pages.  When N is omitted, open one tab page for\neach file.\n\n-R          Read-only  mode.   The  'readonly' option will be set.  You\ncan still edit the buffer, but will be prevented from acci-\ndentally overwriting a file.  If you do want to overwrite a\nfile, add an exclamation mark to  the  Ex  command,  as  in\n\":w!\".   The  -R  option  also  implies  the -n option (see\nabove).  The 'readonly' option  can  be  reset  with  \":set\nnoro\".  See \":help 'readonly'\".\n\n-r          List  swap files, with information about using them for re-\ncovery.\n\n-r {file}   Recovery mode.  The swap file is used to recover a  crashed\nediting  session.   The  swap  file is a file with the same\nfilename as the text file with \".swp\" appended.  See \":help\nrecovery\".\n\n-s          Silent  mode.   Only  when started as \"Ex\" or when the \"-e\"\noption was given before the \"-s\" option.\n\n-s {scriptin}\nThe script file {scriptin} is read.  The characters in  the\nfile  are  interpreted  as if you had typed them.  The same\ncan be done with the command \":source! {scriptin}\".  If the\nend of the file is reached before the editor exits, further\ncharacters are read from the keyboard.\n\n-T {terminal}\nTells Vim the name of the terminal you are using.  Only re-\nquired  when  the  automatic way doesn't work.  Should be a\nterminal known to Vim (builtin) or defined in  the  termcap\nor terminfo file.\n\n-u {vimrc}  Use  the  commands in the file {vimrc} for initializations.\nAll the other initializations are  skipped.   Use  this  to\nedit  a special kind of files.  It can also be used to skip\nall initializations by giving the name \"NONE\".  See  \":help\ninitialization\" within vim for more details.\n\n-U {gvimrc} Use  the  commands in the file {gvimrc} for GUI initializa-\ntions.  All the other GUI initializations are skipped.   It\ncan  also be used to skip all GUI initializations by giving\nthe name \"NONE\".  See \":help gui-init\" within vim for  more\ndetails.\n\n-V[N]       Verbose.   Give  messages about which files are sourced and\nfor reading and writing a viminfo file.  The optional  num-\nber N is the value for 'verbose'.  Default is 10.\n\n-v          Start  Vim  in Vi mode, just like the executable was called\n\"vi\".  This only has effect when the executable  is  called\n\"ex\".\n\n-w {scriptout}\nAll  the  characters that you type are recorded in the file\n{scriptout}, until you exit Vim.  This  is  useful  if  you\nwant  to  create  a script file to be used with \"vim -s\" or\n\":source!\".  If the {scriptout} file exists, characters are\nappended.\n\n-W {scriptout}\nLike -w, but an existing file is overwritten.\n\n-x          Use encryption when writing files.  Will prompt for a crypt\nkey.\n\n-X          Don't connect to the X server.  Shortens startup time in  a\nterminal,  but  the  window title and clipboard will not be\nused.\n\n-y          Start Vim in easy mode, just like the executable was called\n\"evim\"  or \"eview\".  Makes Vim behave like a click-and-type\neditor.\n\n-Z          Restricted mode.  Works like  the  executable  starts  with\n\"r\".\n\n--          Denotes  the end of the options.  Arguments after this will\nbe handled as a file name.  This can  be  used  to  edit  a\nfilename that starts with a '-'.\n\n--clean     Do  not  use  any  personal  configuration (vimrc, plugins,\netc.).  Useful to see if a problem reproduces with a  clean\nVim setup.\n\n--echo-wid  GTK GUI only: Echo the Window ID on stdout.\n\n--help      Give a help message and exit, just like \"-h\".\n\n--literal   Take  file  name  arguments  literally, do not expand wild-\ncards.  This has no effect on Unix where the shell  expands\nwildcards.\n\n--noplugin  Skip loading plugins.  Implied by -u NONE.\n\n--remote    Connect to a Vim server and make it edit the files given in\nthe rest of the arguments.  If no server is found a warning\nis given and the files are edited in the current Vim.\n\n--remote-expr {expr}\nConnect  to  a  Vim server, evaluate {expr} in it and print\nthe result on stdout.\n\n--remote-send {keys}\nConnect to a Vim server and send {keys} to it.\n",
                "subsections": [
                    {
                        "name": "--remote-silent",
                        "content": "As --remote, but without the  warning  when  no  server  is\nfound.\n",
                        "long": "--remote-silent"
                    },
                    {
                        "name": "--remote-wait",
                        "content": "As  --remote,  but  Vim  does not exit until the files have\nbeen edited.\n",
                        "long": "--remote-wait"
                    },
                    {
                        "name": "--remote-wait-silent",
                        "content": "As --remote-wait, but without the warning when no server is\nfound.\n",
                        "long": "--remote-wait-silent"
                    },
                    {
                        "name": "--serverlist",
                        "content": "List the names of all Vim servers that can be found.\n\n--servername {name}\nUse  {name}  as the server name.  Used for the current Vim,\nunless used with a --remote argument, then it's the name of\nthe server to connect to.\n\n--socketid {id}\nGTK  GUI only: Use the GtkPlug mechanism to run gvim in an-\nother window.\n\n--startuptime {file}\nDuring startup write timing messages to the file {fname}.\n\n--version   Print version information and exit.\n",
                        "long": "--serverlist"
                    }
                ]
            },
            "ON-LINE HELP": {
                "content": "Type \":help\" in Vim to get started.  Type \":help subject\" to  get  help\non  a  specific  subject.   For example: \":help ZZ\" to get help for the\n\"ZZ\" command.  Use <Tab> and CTRL-D to complete subjects  (\":help  cmd-\nline-completion\").   Tags are present to jump from one place to another\n(sort of hypertext links, see \":help\").  All documentation files can be\nviewed in this way, for example \":help syntax.txt\".\n",
                "subsections": []
            },
            "FILES": {
                "content": "/usr/share/vim/vim82/doc/*.txt\nThe  Vim documentation files.  Use \":help doc-file-list\"\nto get the complete list.\n\n/usr/share/vim/vim82/doc/tags\nThe tags file used for finding information in the  docu-\nmentation files.\n\n/usr/share/vim/vim82/syntax/syntax.vim\nSystem wide syntax initializations.\n\n/usr/share/vim/vim82/syntax/*.vim\nSyntax files for various languages.\n\n/usr/share/vim/vimrc\nSystem wide Vim initializations.\n\n~/.vimrc       Your personal Vim initializations.\n\n/usr/share/vim/gvimrc\nSystem wide gvim initializations.\n\n~/.gvimrc      Your personal gvim initializations.\n\n/usr/share/vim/vim82/optwin.vim\nScript  used  for  the \":options\" command, a nice way to\nview and set options.\n\n/usr/share/vim/vim82/menu.vim\nSystem wide menu initializations for gvim.\n\n/usr/share/vim/vim82/bugreport.vim\nScript to generate a bug report.  See \":help bugs\".\n\n/usr/share/vim/vim82/filetype.vim\nScript to detect the type of a file by  its  name.   See\n\":help 'filetype'\".\n\n/usr/share/vim/vim82/scripts.vim\nScript  to  detect  the  type of a file by its contents.\nSee \":help 'filetype'\".\n\n/usr/share/vim/vim82/print/*.ps\nFiles used for PostScript printing.\n\nFor recent info read the VIM home page:\n<URL:http://www.vim.org/>\n",
                "subsections": []
            },
            "SEE ALSO": {
                "content": "vimtutor(1)\n",
                "subsections": []
            },
            "AUTHOR": {
                "content": "Most of Vim was made by Bram Moolenaar, with a lot of help from others.\nSee \":help credits\" in Vim.\nVim  is  based  on Stevie, worked on by: Tim Thompson, Tony Andrews and\nG.R. (Fred) Walter.  Although hardly any of the original code remains.\n",
                "subsections": []
            },
            "BUGS": {
                "content": "Probably.  See \":help todo\" for a list of known problems.\n\nNote that a number of things that may be regarded as bugs by some,  are\nin  fact  caused by a too-faithful reproduction of Vi's behaviour.  And\nif you think other things are bugs \"because Vi  does  it  differently\",\nyou  should  take  a closer look at the vidiff.txt file (or type :help\nvidiff.txt when in Vim).  Also have a look  at  the  'compatible'  and\n'cpoptions' options.\n\n2006 Apr 11                           VIM(1)",
                "subsections": []
            }
        }
    }
}