*os_mac.txt* For MNV version 10.0. Last change: 2026 Feb 14 MNV REFERENCE MANUAL by Bram Moolenaar et al. *mac* *Mac* *macintosh* *Macintosh* This file documents the particularities of the Macintosh version of MNV. NOTE: This file is a bit outdated. You might find more useful info here: http://macmnv.org/ 1. Filename Convention |mac-filename| 2. .mnvrc and .mnv files |mac-mnvfile| 3. Standard mappings |mac-standard-mappings| 4. FAQ |mac-faq| 5. Known Lack |mac-lack| 6. Mac Bug Report |mac-bug| 7. Compiling MNV |mac-compile| 8. The darwin feature |mac-darwin-feature| There was a Mac port for version 3.0 of MNV. Here are the first few lines from the old file: MNV Release Notes Initial Macintosh release, MNV version 3.0 19 October 1994 Eric Fischer , , 5759 N. Guilford Ave Indianapolis IN 46220 USA ============================================================================== 1. Filename Convention *mac-filename* Starting with MNV version 7 you can just use the unix path separators with MNV. 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 |$MNV| and |$MNVRUNTIME| variable. > :so $MNVRUNTIME:syntax:syntax.mnv ============================================================================== 2. .mnvrc and .mnv files *mac-mnvfile* It is recommended to use Unix style line separators for MNV scripts, thus a single newline character. When starting up MNV will load the $MNVRUNTIME/macmap.mnv script to define default command-key mappings. On older systems files starting with a dot "." are discouraged, thus the rc files are named "mnvrc" or "_mnvrc" and "gmnvrc" or "_gmnvrc". These files can be in any format (mac, dos or unix). MNV 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 * paste text ** Command-c "*y copy Visual text ** Command-x "*d cut Visual text ** Backspace "*d cut Visual text ============================================================================== 4. Mac FAQ *mac-faq* On the internet: https://github.com/macmnv-dev/macmnv/wiki/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 MNV.app is located in /Applications: open /Applications/MNV.app Or: /Applications/MNV.app/Contents/MacOS/MNV -g {arguments} Q: How can I set $PATH to something reasonable when I start MNV.app from the GUI or with open? A: The following trick works with most shells. Put it in your mnvrc file. This is included in the system mnvrc file included with the binaries distributed at macmnv.org . > let s:path = system("echo echo MNVPATH'${PATH}' | $SHELL -l") let $PATH = matchstr(s:path, 'MNVPATH\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 mnv-mac maillist |mnv-mac|. However, you need to be subscribed. An alternative is to report issues either directly at the MNV github repository: https://github.com/Project-Tick/Project-Tick/issues or for MacMNV specific issues, you may report those over here: https://github.com/macmnv-dev/macmnv/issues ============================================================================== 7. Compiling MNV *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 MNV use Darwin-specific properties. What is accomplished with this feature is two-fold: - Make MNV interoperable with the system clipboard. - Incorporate into MNV a converter module that bridges the gap between some character encodings specific to the platform and those known to MNV. 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 MNV 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 MNV 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 and then run `make` to build MNV. 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 MNV from hanging at runtime. mnv:tw=78:ts=8:noet:ft=help:norl: