1
1
mirror of https://github.com/qvacua/vimr.git synced 2024-11-28 02:54:31 +03:00
vimr/README.md

90 lines
3.2 KiB
Markdown
Raw Normal View History

2020-12-30 17:34:38 +03:00
# VimR — Neovim GUI for macOS
2020-12-30 17:34:38 +03:00
[Download](https://github.com/qvacua/vimr/releases) • [Documentation](https://github.com/qvacua/vimr/wiki)
2016-12-01 23:30:31 +03:00
![Screenshot 1](https://raw.githubusercontent.com/qvacua/vimr/develop/resources/screenshot1.png)
2017-06-30 22:32:02 +03:00
![Screenshot 2](https://raw.githubusercontent.com/qvacua/vimr/develop/resources/screenshot2.png)
2016-07-10 21:57:00 +03:00
## About
2016-07-10 21:57:00 +03:00
2020-12-30 17:34:38 +03:00
Project VimR is a Neovim GUI for macOS.
2020-02-07 19:37:47 +03:00
The goal is to build an editor that uses Neovim inside with many of the convenience
GUI features similar to those present in modern editors. We mainly use Swift,
2020-12-30 17:34:38 +03:00
but also use C/Objective-C when where appropriate.
2016-07-10 21:57:00 +03:00
2019-04-23 23:48:20 +03:00
There are other Neovim GUIs for macOS, e.g. [NyaoVim](https://github.com/rhysd/NyaoVim), [neovim-dot-app](https://github.com/rogual/neovim-dot-app), [Oni](https://www.onivim.io), etc., so why?
2016-08-15 00:02:04 +03:00
2020-12-30 17:34:38 +03:00
- Play around with [Neovim](https://github.com/qvacua/neovim),
2020-02-07 19:37:47 +03:00
- play around with Swift (and especially with [RxSwift](https://github.com/ReactiveX/RxSwift)), and
2016-08-15 00:02:04 +03:00
- (most importantly) have fun!
2020-12-30 17:34:38 +03:00
If you want to support VimR financially, use [Github's Sponsor](https://github.com/sponsors/qvacua)
2020-06-23 20:15:31 +03:00
or [Bountysource](https://www.bountysource.com/teams/vimr).
2020-02-07 19:37:47 +03:00
## Download
Pre-built binaries can be found under [Releases](https://github.com/qvacua/vimr/releases).
## Reusable Components
2016-08-16 23:44:15 +03:00
2019-03-29 23:51:37 +03:00
* [RxMessagePort](https://github.com/qvacua/vimr/blob/develop/RxPack/RxMessagePort.swift): RxSwift wrapper for local and remote `CFMessagePort`.
2020-12-30 17:34:38 +03:00
* [RxMsgpackRpc](https://github.com/qvacua/vimr/blob/develop/RxPack/RxMsgpackRpc.swift): Implementation of MsgpackRpc using RxSwift.
2019-03-29 23:51:37 +03:00
* [RxNeovimApi](https://github.com/qvacua/vimr/blob/develop/RxPack/RxNeovimApi.swift): RxSwift wrapper of Neovim API.
2020-12-30 17:34:38 +03:00
* [NvimView](https://github.com/qvacua/vimr/tree/develop/NvimView): SwiftPM module which bundles everything, e.g. Neovim's `runtime`-files, needed to embed Neovim in a Cocoa App.
2016-08-16 23:44:15 +03:00
2019-03-05 14:44:10 +03:00
## Some Features
2016-08-01 23:10:41 +03:00
2017-03-30 22:18:32 +03:00
* Markdown preview
2017-04-18 21:48:03 +03:00
* Generic HTML preview (retains the scroll position when reloading)
2016-09-09 13:51:07 +03:00
* Fuzzy file finder a la Xcode's "Open Quickly..."
2019-03-05 14:44:10 +03:00
* Trackpad support: Pinching for zooming and two-finger scrolling.
2016-08-01 23:10:41 +03:00
* Ligatures: Turned off by default. Turn it on in the Preferences.
2016-09-26 20:05:50 +03:00
* Command line tool.
2016-10-06 23:37:46 +03:00
* (Simple) File browser
2017-04-18 21:48:03 +03:00
* Flexible workspace model a la JetBrain's IDEs
## How to Build
First after cloning the VimR source tree you need to initialize git submodules
```bash
2020-02-05 23:06:49 +03:00
git lfs install
2020-02-07 19:37:47 +03:00
git submodule update --init
```
2020-02-07 19:37:47 +03:00
First install `homebrew`, then in the project root:
2016-06-06 19:25:03 +03:00
```bash
2017-12-03 11:59:15 +03:00
xcode-select --install # install the Xcode command line tools, if you haven't already
brew bundle
2016-06-06 19:25:03 +03:00
2020-02-07 19:37:47 +03:00
code_sign=false use_carthage_cache=false ./bin/build_vimr.sh # VimR.app will be placed in build/Build/Products/Release/
2016-08-09 23:01:47 +03:00
```
## Project Setup
2016-06-07 00:29:36 +03:00
### Artifacts Hierarchy
```
VimR.app
2017-12-03 11:59:15 +03:00
+-- NvimView.framework
   +-- NvimServer
2016-06-07 00:29:36 +03:00
      +-- libnvim
2016-11-22 23:09:54 +03:00
      +-- other libs for Neovim
2020-12-30 17:34:38 +03:00
   +-- NvimView
+-- NvimServer binary (copied by the build script)
   +-- runtime files for Neovim (copied by the build script)
2016-06-07 00:29:36 +03:00
```
2020-12-30 17:34:38 +03:00
### How to develop
2016-06-07 00:29:36 +03:00
2020-12-30 17:34:38 +03:00
See [DEVELOP.md](docs/develop.md).
2016-07-10 21:57:00 +03:00
## License
2016-09-10 15:57:56 +03:00
[MIT](https://github.com/qvacua/vimr/blob/master/LICENSE)
2016-11-06 12:34:27 +03:00
---
If you are here for VimR-MacVim, use the [macvim/master](https://github.com/qvacua/vimr/tree/macvim/master) branch and the version [0.8.0 (32)](https://github.com/qvacua/vimr/releases/tag/v0.8.0-32).