4:62 ,ˆl–äY>”êe¶…8 …p\Å£Á „mÖ„÷_‡I|¥ŠèªÁÀ?÷*vi_diff.txt* For Vim version 8.2. Last change: 2021 Jan 21 VIM REFERENCE MANUAL by Bram Moolenaar Differences between Vim and Vi *vi-differences* This file lists the differences between Vim and Vi/Ex and gives an overview of what is in Vim that is not in Vi. Vim is mostly POSIX 1003.2-1 compliant. The only command known to be missing is ":open". There are probably a lot of small differences (either because Vim is missing something or because Posix is beside the mark). 1. Simulated command |simulated-command| 2. Missing options |missing-options| 3. Limits |limits| 4. The most interesting additions |vim-additions| 5. Other vim features |other-features| 6. Supported Vi features |vi-features| 7. Command-line arguments |cmdline-arguments| 8. POSIX compliance |posix-compliance| ============================================================================== 1. Simulated command *simulated-command* This command is in Vi, but Vim only simulates it: *:o* *:op* *:open* :[range]o[pen] Works like |:visual|: end Ex mode. {Vi: start editing in open mode} :[range]o[pen] /pattern/ As above, additionally move the cursor to the column where "pattern" matches in the cursor line. Vim does not support open mode, since it's not really useful. For those situations where ":open" would start open mode Vim will leave Ex mode, which allows executing the same commands, but updates the whole screen instead of only one line. ============================================================================== 2. Missing options *missing-options* These options are in the Unix Vi, but not in Vim. If you try to set one of them you won't get an error message, but the value is not used and cannot be printed. autoprint (ap) boolean (default on) *'autoprint'* *'ap'* beautify (bf) boolean (default off) *'beautify'* *'bf'* flash (fl) boolean (default ??) *'flash'* *'fl'* graphic (gr) boolean (default off) *'graphic'* *'gr'* hardtabs (ht) number (default 8) *'hardtabs'* *'ht'* number of spaces that a moves on the display mesg boolean (default on) *'mesg'* novice boolean (default off) *'novice'* open boolean (default on) *'open'* optimize (op) boolean (default off) *'optimize'* *'op'* redraw boolean (default off) *'redraw'* slowopen (slow) boolean (default off) *'slowopen'* *'slow'* sourceany boolean (default off) *'sourceany'* w300 number (default 23) *'w300'* w1200 number (default 23) *'w1200'* w9600 number (default 23) *'w9600'* Vi did not allow for changing the termcap entries, you would have to exit Vi, edit the termcap entry and try again. Vim has the |terminal-options|. ============================================================================== 3. Limits *limits* Vim has only a few limits for the files that can be edited {Vi: can not handle characters and characters above 128, has limited line length, many other limits}. Maximum line length 2147483647 characters. Longer lines are split. Maximum number of lines 2147483647 lines. Maximum file size 2147483647 bytes (2 Gbyte) when a long integer is 32 bits. Much more for 64 bit longs. Also limited by available disk space for the |swap-file|. *E75* Length of a file path Unix and Win32: 1024 characters, otherwise 256 characters (or as much as the system supports). Length of an expanded string option Unix and Win32: 1024 characters, otherwise 256 characters Maximum display width Unix and Win32: 1024 characters, otherwise 255 characters Maximum lhs of a mapping 50 characters. Number of different highlighting types: over 30000 Range of a Number variable: -2147483648 to 2147483647 (might be more on 64 bit systems) Maximum length of a line in a tags file: 512 bytes. Information for undo and text in registers is kept in memory, thus when making (big) changes the amount of (virtual) memory available limits the number of undo levels and the text that can b