1*os_mac.txt* For Vim version 8.2. Last change: 2019 Apr 21 2 3 4 VIM REFERENCE MANUAL by Bram Moolenaar et al. 5 6 7 *mac* *Mac* *macintosh* *Macintosh* 8 9This file documents the particularities of the Macintosh version of Vim. 10 11NOTE: This file is a bit outdated. You might find more useful info here: 12 http://macvim.org/ 13 141. Filename Convention |mac-filename| 152. .vimrc and .vim files |mac-vimfile| 163. Standard mappings |mac-standard-mappings| 174. FAQ |mac-faq| 185. Known Lack |mac-lack| 196. Mac Bug Report |mac-bug| 207. Compiling Vim |mac-compile| 218. The darwin feature |mac-darwin-feature| 22 23There was a Mac port for version 3.0 of Vim. Here are the first few lines 24from the old file: 25 26VIM Release Notes 27Initial Macintosh release, VIM version 3.0 2819 October 1994 29 30Eric Fischer 31<[email protected]>, <[email protected]>, <[email protected]> 325759 N. Guilford Ave 33Indianapolis IN 46220 USA 34 35============================================================================== 361. Filename Convention *mac-filename* 37 38Starting with Vim version 7 you can just use the unix path separators with 39Vim. In order to determine if the specified filename is relative to the 40current folder or absolute (i.e. relative to the "Desktop"), the following 41algorithm is used: 42 43 If the path start by a "/", the path is absolute 44 If the path start by a ":", the path is relative 45 If the path doesn't start by neither a "/" nor ":", 46 and a ":" is found before a "/" then the path is absolute 47> 48 :e /HD/text 49 :e HD:text 50< Edit the file "text" of the disk "HD" > 51 :e :src:main.c 52 :e src/main.c 53< Edit the file "main.c" in the folder "src" in the current folder > 54 :e os_mac.c 55< Edit the file "os_mac.c" in the current folder. 56 57You can use the |$VIM| and |$VIMRUNTIME| variable. > 58 59 :so $VIMRUNTIME:syntax:syntax.vim 60 61============================================================================== 622. .vimrc and .vim files *mac-vimfile* 63 64It is recommended to use Unix style line separators for Vim scripts, thus a 65single newline character. 66 67When starting up Vim will load the $VIMRUNTIME/macmap.vim script to define 68default command-key mappings. 69 70On older systems files starting with a dot "." are discouraged, thus the rc 71files are named "vimrc" or "_vimrc" and "gvimrc" or "_gvimrc". These files 72can be in any format (mac, dos or unix). Vim can handle any file format when 73the |'nocompatible'| option is set, otherwise it will only handle mac format 74files. 75 76============================================================================== 773. Standard mappings *mac-standard-mappings* 78 79The following mappings are available for cut/copy/paste from/to clipboard. 80 81key Normal Visual Insert Description ~ 82Command-v "*P "-d"*P <C-R>* paste text *<D-v>* 83Command-c "*y copy Visual text *<D-c>* 84Command-x "*d cut Visual text *<D-x>* 85Backspace "*d cut Visual text 86 87============================================================================== 884. Mac FAQ *mac-faq* 89 90On the internet: http://macvim.org/OSX/index.php#FAQ 91 92Q: I can't enter non-ASCII character in Apple Terminal. 93A: Under Window Settings, Emulation, make sure that "Escape non-ASCII 94 characters" is not checked. 95 96Q: How do I start the GUI from the command line? 97A: Assuming that Vim.app is located in /Applications: 98 open /Applications/Vim.app 99 Or: 100 /Applications/Vim.app/Contents/MacOS/Vim -g {arguments} 101 102Q: How can I set $PATH to something reasonable when I start Vim.app from the 103 GUI or with open? 104A: The following trick works with most shells. Put it in your vimrc file. 105 This is included in the system vimrc file included with the binaries 106 distributed at macvim.org . > 107 let s:path = system("echo echo VIMPATH'${PATH}' | $SHELL -l") 108 let $PATH = matchstr(s:path, 'VIMPATH\zs.\{-}\ze\n') 109 110============================================================================== 1115. Mac Lack *mac-lack* 112 113In a terminal CTRL-^ needs to be entered as Shift-Control-6. CTRL-@ as 114Shift-Control-2. 115 116============================================================================== 1176. Mac Bug Report *mac-bug* 118 119When reporting any Mac specific bug or feature change, please use the vim-mac 120maillist |vim-mac|. However, you need to be subscribed. An alternative is to 121send a message to the current MacVim maintainers: 122 123 [email protected] 124 125============================================================================== 1267. Compiling Vim *mac-compile* 127 128See the file "src/INSTALLmac.txt" that comes with the source files. 129 130============================================================================== 1318. The Darwin Feature *mac-darwin-feature* 132 133If you have a Mac that isn't very old, you will be running OS X, also called 134Darwin. The last pre-Darwin OS was Mac OS 9. The darwin feature makes Vim 135use Darwin-specific properties. 136 137What is accomplished with this feature is two-fold: 138 139- Make Vim interoperable with the system clipboard. 140- Incorporate into Vim a converter module that bridges the gap between some 141 character encodings specific to the platform and those known to Vim. 142 143Needless to say, both are not to be missed for any decent text editor to work 144nicely with other applications running on the same desktop environment. 145 146As Vim is not an application dedicated only to macOS, we need an extra feature 147to add in order for it to offer the same user experience that our users on 148other platforms enjoy to people on macOS. 149 150For brevity, the feature is referred to as "darwin" to signify it one of the 151Vim features that are specific to that particular platform. 152 153The feature is a configuration option. Accordingly, whether it is enabled or 154not is determined at build time; once it is selected to be enabled, it is 155compiled in and hence cannot be disabled at runtime. 156 157The feature is enabled by default. For most macOS users, that should be 158sufficient unless they have specific needs mentioned briefly below. 159 160If you want to disable it, pass `--disable-darwin` to the configure script: > 161 162 ./configure --disable-darwin <other options> 163 164and then run `make` to build Vim. The order of the options doesn't matter. 165 166To make sure at runtime whether or not the darwin feature is compiled in, you 167can use `has('osxdarwin')` which returns 1 if the feature is compiled in; 0 168otherwise. For backward compatibility, you can still use `macunix` instead of 169`osxdarwin`. 170 171Notable use cases where `--disable-darwin` is turned out to be useful are: 172 173- When you want to use |x11-selection| instead of the system clipboard. 174- When you want to use |x11-clientserver|. 175 176Since both have to make use of X11 inter-client communication for them to work 177properly, and since the communication mechanism can come into conflict with 178the system clipboard, the darwin feature should be disabled to prevent Vim 179from hanging at runtime. 180 181 182 vim:tw=78:ts=8:noet:ft=help:norl: 183