Difference between revisions of "Nvim-r"

From NixOS Wiki
Jump to: navigation, search
(Add warning about the new wiki)
m (rollback unauthorized mass edits)
Tag: Rollback
 
Line 1: Line 1:
{{warning|1=You are reading an article on the deprecated unofficial wiki. For the up to date version of this article, see https://wiki.nixos.org/wiki/Nvim-r.}}
 
 
 
This plugin turns vim/Neovim into a fully fledged R IDE<ref>https://medium.freecodecamp.org/turning-vim-into-an-r-ide-cd9602e8c217?gi=a7ef030c5ed2</ref>. Once added as a [[vim]] plugin it will try to compile a backend executable called nvimcom<ref>https://github.com/jalvesaq/Nvim-R</ref>.  
 
This plugin turns vim/Neovim into a fully fledged R IDE<ref>https://medium.freecodecamp.org/turning-vim-into-an-r-ide-cd9602e8c217?gi=a7ef030c5ed2</ref>. Once added as a [[vim]] plugin it will try to compile a backend executable called nvimcom<ref>https://github.com/jalvesaq/Nvim-R</ref>.  
  

Latest revision as of 10:58, 6 April 2024

This plugin turns vim/Neovim into a fully fledged R IDE[1]. Once added as a vim plugin it will try to compile a backend executable called nvimcom[2].

If nvimcom Installation Fails

This Just Works ™ but you have to explictly install GCC on system packages so the plugin script can find it and compile the code it needs. If GCC is not explicitly installed, then it will print an "updating nvimcom" message and then a cryptic compilation error log.


Installation via Home-Manager

An example installation of nvim-r using home-manager is shown below.

nvim-R requires build dependencies: which, vim and zip

~/.config/nixpkgs/vim.nix

with import <nixpkgs> {};
let customPlugins = {
  nvim-r = vimUtils.buildVimPlugin {
    name = "nvim-r";
    src = fetchgit {
      url= "https://github.com/jalvesaq/nvim-r";
      rev =  "c53b5a402a26df5952718f483c7461af5bb459eb";
      sha256 = "13xbb05gnpgmyaww6029saplzjq7cq2dxzlxylcynxhhyibz5ibv";
      };
    buildInputs = [ which vim  zip];
  };
};

...
...
in vim_configurable.customize {
  name = "vim";
  vimrcConfig.customRC = ''
  vimrc things go here
  '';
    vimrcConfig.vam.knownPlugins = pkgs.vimPlugins // customPlugins;
    vimrcConfig.vam.pluginDictionaries = [
      { names = [
        "nvim-r"
        "other normal vim plugins"
      ]; }
    ];
}


~/.config/nixpkgs/home.nix

  home= {
    packages = with pkgs; [
      (import ./vim.nix)
      # other packages
  ];
};