All Projects → sansyrox → macsimus

sansyrox / macsimus

Licence: GPL-3.0 license
A custom editor based on NeoVim and inspired from Vim and Emacs to maximise productivity.

Programming Languages

Vim Script
2826 projects
shell
77523 projects
lua
6591 projects
Vim Snippet
174 projects

Projects that are alternatives of or similar to macsimus

vim-nayvy
🌑 Enriching python coding in Vim 🐍
Stars: ✭ 66 (+266.67%)
Mutual labels:  coc, ale
dotfiles
dotfiles repository
Stars: ✭ 15 (-16.67%)
Mutual labels:  arch
code-of-conduct
The rule of St. Benedict as your Code of Conduct
Stars: ✭ 21 (+16.67%)
Mutual labels:  coc
arch-pkgs
Management repo for my Arch Linux systems. Mirror of https://gitlab.com/mdaffin/arch-pkgs
Stars: ✭ 79 (+338.89%)
Mutual labels:  arch
arch-pi
A simple script automatically installing Arch Linux for the Raspberry Pi.
Stars: ✭ 38 (+111.11%)
Mutual labels:  arch
AwsTerm
A collection of awesome terminal utilities
Stars: ✭ 37 (+105.56%)
Mutual labels:  arch
coc-rime
Rime input method source for coc.nvim
Stars: ✭ 22 (+22.22%)
Mutual labels:  coc
deepspeech.mxnet
A MXNet implementation of Baidu's DeepSpeech architecture
Stars: ✭ 82 (+355.56%)
Mutual labels:  arch
dockerfiles
Dockerfiles for all LSPs used with lspcontainers.
Stars: ✭ 40 (+122.22%)
Mutual labels:  language-servers
coc-neco
viml completion source for coc.nvim
Stars: ✭ 22 (+22.22%)
Mutual labels:  coc
d2launcher
Diablo II • Median XL • Mod Launcher for Linux
Stars: ✭ 20 (+11.11%)
Mutual labels:  arch
coc-elixir
Elixir language server extension based on elixir-ls for coc.nvim
Stars: ✭ 150 (+733.33%)
Mutual labels:  coc
vimmic
Lightweight and well documented Vim/Neovim configuration. Easy to use and configure.
Stars: ✭ 23 (+27.78%)
Mutual labels:  neovim-conf
coc-webview
Using an external browser to support the webview in coc.nvim.
Stars: ✭ 21 (+16.67%)
Mutual labels:  coc
coc-stylelint
Stylelint language server extension for coc.nvim
Stars: ✭ 42 (+133.33%)
Mutual labels:  coc
dotfiles
Current dotfiles and scripts
Stars: ✭ 35 (+94.44%)
Mutual labels:  arch
Singularis
My System Configuration ⚙️
Stars: ✭ 27 (+50%)
Mutual labels:  arch
arch-privoxyvpn
Docker build script for Arch Linux base with Privoxy and OpenVPN
Stars: ✭ 55 (+205.56%)
Mutual labels:  arch
cheatsheets
📋 Various cheatsheets made while working as a developer
Stars: ✭ 22 (+22.22%)
Mutual labels:  arch
nyoom.nvim
Blazing fast, configurable, minimal and lispy neovim config written in Fennel and Rust. Base config for users to extend and add upon, leading to a more unique editing experience. (🚀)
Stars: ✭ 304 (+1588.89%)
Mutual labels:  neovim-conf

Macsimus

It is highly modified version of neovim optimised for the most productive workflow.

ScreenShots

Preview of Macsimus

Demo Video

Coming Soon

Why the name?

I am glad you asked. Macsimus = e(macs) + v(im) + us. The editor takes inspiration from the best features of emacs and vim and is made for us.

Install in one command

The following will install this config if you have an existing config it will move it to ~/.config/nvim.old

This script only supports Mac, Ubuntu and Arch

bash <(curl -s https://raw.githubusercontent.com/sansyrox/macsimus/main/utils/install.sh)

Install Neovim

  • Mac

    brew install --HEAD neovim # Nightly version
    
    brew upgrade neovim --fetch-HEAD # Sometimes you need to update
    
  • Ubuntu

    Option 1

    sudo add-apt-repository ppa:neovim-ppa/unstable
    sudo apt-get update
    sudo apt-get install neovim
    

    Option 2

    curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim.appimage -o /tmp/nvim.appimage
    
    sudo mv /tmp/nvim.appimage /usr/local/bin/nvim
    
    chmod +x /usr/local/bin/nvim
    
  • Arch

    yay -S neovim-git # Latest
    

Clone this repo into your config

git clone https://github.com/sansyrox/macsimus.git ~/.config/nvim

Install python & node support

pip install pynvim
npm i -g neovim

Install Neovim remote

pip install neovim-remote

This will install nvr to ~/.local/bin so you will need to add the following to your bashrc or zshrc

export PATH=$HOME/.local/bin:$PATH

Install clipboard support

  • On Mac pbcopy should be builtin

  • Ubuntu

    sudo apt install xsel
    
  • Arch

    sudo pacman -S xsel
    

(Optional) Install python & node support using virtual environments

Make sure to add these paths somewhere in your config

let g:python3_host_prog = expand("<path to python with pynvim installed>")
let g:python3_host_prog = expand("~/.miniconda/envs/neovim/bin/python3.8") " <- example

let g:node_host_prog = expand("<path to node with neovim installed>")
let g:node_host_prog = expand("~/.nvm/versions/node/v12.16.1/bin/neovim-node-host") " <- example

List of programs you should install

  • ranger
  • ueberzug
  • ripgrep
  • lazy git
  • lazy docker

Explanations and installation instruction can be found on my blog

Language Servers

Since CoC doesn't support all languages in there extensions I recommend installing some language servers from scratch and adding them to your coc-settings.json file

Example:

  • bash

    npm i -g bash-language-server

    "languageserver": {
    "bash": {
      "command": "bash-language-server",
      "args": ["start"],
      "filetypes": ["sh"],
      "ignoredRootPaths": ["~"]
      }
    }
    

For FAR to work

:UpdateRemotePlugins

TabNine

To use TabNine enter the following in a buffer:

TabNine::config

NOTE This extension can take up a ton of memory

Vim Gists

To use vim-gists you will need to configure the following:

git config --global github.user <username>

Font To Use

I use a custom NERD Patched DankMono Font. But if that is a little expensive for you, FiraCode also works well with the theme.

ToDo

  • Try integrating Telescope.nvim

Common Issues

If markdown preview is not working, try doing :call mkdp#util#install()

Contributing Guidelines

This project is a very contribution friendly project. All sorts of contributions are public and are licenced under GPL3 licence. Being said that, I am announcing myself as the T.L.S(The Leader Supreme) of this project.

What does that mean?

I am open to all kinds of discussions but I hold the veto to block/stop them when I feel like they are not adding any value.

Why not a democratic approach(like all my other OSS projects)?

Since this project is very deep integrated with my work flow, I will not accept any request that makes this project slower or makes it even a little unusable for me. However, if you think that there is something that will improve this project feel free to open a PR without any hesitation.

What if someone does not agree with this approach?

Read this line again :)

I hope you all enjoy the project. Show some appreciation by starring the project?

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].