| *os_mac.txt* For Vim version 9.0. Last change: 2019 Apr 21 |
| |
| |
| VIM REFERENCE MANUAL by Bram Moolenaar et al. |
| |
| |
| *mac* *Mac* *macintosh* *Macintosh* |
| |
| This file documents the particularities of the Macintosh version of Vim. |
| |
| NOTE: This file is a bit outdated. You might find more useful info here: |
| http://macvim.org/ |
| |
| 1. Filename Convention |mac-filename| |
| 2. .vimrc and .vim files |mac-vimfile| |
| 3. Standard mappings |mac-standard-mappings| |
| 4. FAQ |mac-faq| |
| 5. Known Lack |mac-lack| |
| 6. Mac Bug Report |mac-bug| |
| 7. Compiling Vim |mac-compile| |
| 8. The darwin feature |mac-darwin-feature| |
| |
| There was a Mac port for version 3.0 of Vim. Here are the first few lines |
| from the old file: |
| |
| VIM Release Notes |
| Initial Macintosh release, VIM version 3.0 |
| 19 October 1994 |
| |
| Eric Fischer |
| <enf1@midway.uchicago.edu>, <eric@jcp.uchicago.edu>, <etaoin@uchicago.edu> |
| 5759 N. Guilford Ave |
| Indianapolis IN 46220 USA |
| |
| ============================================================================== |
| 1. Filename Convention *mac-filename* |
| |
| Starting with Vim version 7 you can just use the unix path separators with |
| Vim. In order to determine if the specified filename is relative to the |
| current folder or absolute (i.e. relative to the "Desktop"), the following |
| algorithm is used: |
| |
| If the path start by a "/", the path is absolute |
| If the path start by a ":", the path is relative |
| If the path doesn't start by neither a "/" nor ":", |
| and a ":" is found before a "/" then the path is absolute |
| > |
| :e /HD/text |
| :e HD:text |
| < Edit the file "text" of the disk "HD" > |
| :e :src:main.c |
| :e src/main.c |
| < Edit the file "main.c" in the folder "src" in the current folder > |
| :e os_mac.c |
| < Edit the file "os_mac.c" in the current folder. |
| |
| You can use the |$VIM| and |$VIMRUNTIME| variable. > |
| |
| :so $VIMRUNTIME:syntax:syntax.vim |
| |
| ============================================================================== |
| 2. .vimrc and .vim files *mac-vimfile* |
| |
| It is recommended to use Unix style line separators for Vim scripts, thus a |
| single newline character. |
| |
| When starting up Vim will load the $VIMRUNTIME/macmap.vim script to define |
| default command-key mappings. |
| |
| On older systems files starting with a dot "." are discouraged, thus the rc |
| files are named "vimrc" or "_vimrc" and "gvimrc" or "_gvimrc". These files |
| can be in any format (mac, dos or unix). Vim can handle any file format when |
| the |'nocompatible'| option is set, otherwise it will only handle mac format |
| files. |
| |
| ============================================================================== |
| 3. Standard mappings *mac-standard-mappings* |
| |
| The following mappings are available for cut/copy/paste from/to clipboard. |
| |
| key Normal Visual Insert Description ~ |
| Command-v "*P "-d"*P <C-R>* paste text *<D-v>* |
| Command-c "*y copy Visual text *<D-c>* |
| Command-x "*d cut Visual text *<D-x>* |
| Backspace "*d cut Visual text |
| |
| ============================================================================== |
| 4. Mac FAQ *mac-faq* |
| |
| On the internet: http://macvim.org/OSX/index.php#FAQ |
| |
| Q: I can't enter non-ASCII character in Apple Terminal. |
| A: Under Window Settings, Emulation, make sure that "Escape non-ASCII |
| characters" is not checked. |
| |
| Q: How do I start the GUI from the command line? |
| A: Assuming that Vim.app is located in /Applications: |
| open /Applications/Vim.app |
| Or: |
| /Applications/Vim.app/Contents/MacOS/Vim -g {arguments} |
| |
| Q: How can I set $PATH to something reasonable when I start Vim.app from the |
| GUI or with open? |
| A: The following trick works with most shells. Put it in your vimrc file. |
| This is included in the system vimrc file included with the binaries |
| distributed at macvim.org . > |
| let s:path = system("echo echo VIMPATH'${PATH}' | $SHELL -l") |
| let $PATH = matchstr(s:path, 'VIMPATH\zs.\{-}\ze\n') |
| |
| ============================================================================== |
| 5. Mac Lack *mac-lack* |
| |
| In a terminal CTRL-^ needs to be entered as Shift-Control-6. CTRL-@ as |
| Shift-Control-2. |
| |
| ============================================================================== |
| 6. Mac Bug Report *mac-bug* |
| |
| When reporting any Mac specific bug or feature change, please use the vim-mac |
| maillist |vim-mac|. However, you need to be subscribed. An alternative is to |
| send a message to the current MacVim maintainers: |
| |
| mac@vim.org |
| |
| ============================================================================== |
| 7. Compiling Vim *mac-compile* |
| |
| See the file "src/INSTALLmac.txt" that comes with the source files. |
| |
| ============================================================================== |
| 8. The Darwin Feature *mac-darwin-feature* |
| |
| If you have a Mac that isn't very old, you will be running OS X, also called |
| Darwin. The last pre-Darwin OS was Mac OS 9. The darwin feature makes Vim |
| use Darwin-specific properties. |
| |
| What is accomplished with this feature is two-fold: |
| |
| - Make Vim interoperable with the system clipboard. |
| - Incorporate into Vim a converter module that bridges the gap between some |
| character encodings specific to the platform and those known to Vim. |
| |
| Needless to say, both are not to be missed for any decent text editor to work |
| nicely with other applications running on the same desktop environment. |
| |
| As Vim is not an application dedicated only to macOS, we need an extra feature |
| to add in order for it to offer the same user experience that our users on |
| other platforms enjoy to people on macOS. |
| |
| For brevity, the feature is referred to as "darwin" to signify it one of the |
| Vim features that are specific to that particular platform. |
| |
| The feature is a configuration option. Accordingly, whether it is enabled or |
| not is determined at build time; once it is selected to be enabled, it is |
| compiled in and hence cannot be disabled at runtime. |
| |
| The feature is enabled by default. For most macOS users, that should be |
| sufficient unless they have specific needs mentioned briefly below. |
| |
| If you want to disable it, pass `--disable-darwin` to the configure script: > |
| |
| ./configure --disable-darwin <other options> |
| |
| and then run `make` to build Vim. The order of the options doesn't matter. |
| |
| To make sure at runtime whether or not the darwin feature is compiled in, you |
| can use `has('osxdarwin')` which returns 1 if the feature is compiled in; 0 |
| otherwise. For backward compatibility, you can still use `macunix` instead of |
| `osxdarwin`. |
| |
| Notable use cases where `--disable-darwin` is turned out to be useful are: |
| |
| - When you want to use |x11-selection| instead of the system clipboard. |
| - When you want to use |x11-clientserver|. |
| |
| Since both have to make use of X11 inter-client communication for them to work |
| properly, and since the communication mechanism can come into conflict with |
| the system clipboard, the darwin feature should be disabled to prevent Vim |
| from hanging at runtime. |
| |
| |
| vim:tw=78:ts=8:noet:ft=help:norl: |