GithubHelp home page GithubHelp logo

nvim-setup's Introduction

My nvim dotfiles

These lua configurations were based on the amazing videos of [chris@machine], the source repo is here.

Install nvim

Oficial site: https://github.com/neovim/neovim/wiki/Installing-Neovim

Feel free to install the way you want, I like to use asdf to install and manage my neovim.

  • To install asdf I cloned the repo and source it in my ~/.bash_profile. The how to guide and many other options are available here
  • Install asdf-neovim plugin (asdf plugin add neovim)
  • You can list the neovim versions available with asdf list-all neovim
  • And install one specific version or the stable or nightly builds
  • My current setup:
    • asdf install neovim 0.7.2
    • asdf global neovim 0.7.2

After that, you can open the neovim typing: nvim in your prompt.

How to setup nvim

This setup uses packer.nvim. The list of all plugins are available at plugins.lua. Languages that are supported:

  • Clojure
  • Dart / Flutter

It's open to contributions. In the future I want to support Elixir, Sql and Ruby. Feel free to open a pull request or maintain your fork.

To use the nvim settings, clone the repo and make an nvim alias on $HOME/.config directory.

$ cd ~/.config
$ git clone https://github.com/rogerleite/nvim-setup.git
$ ln -s nvim-setup/ nvim

Before opening nvim, it's important to install some plugin dependencies. (No problem if you opened, it'll show a packer message with plugins install and probably the parinfer-rust failed)

This is important if you use Clojure mode: In order to use parinfer-rust you need to install rust. Feel free to install the way you want, my suggestion is to use asddf because is very practical.

  • To install asdf I cloned the repo and source it in my ~/.bash_profile. The how to guide and many other options are available here
  • Install asdf-rust plugin:
  • $ asdf plugin add rust
  • You can list the rust versions available with:
  • asdf list-all rust
  • Parinfer-rust expects rust >= 1.36
  • My current setup:
    • $ RUST_WITHOUT=rust-docs asdf install rust 1.63.0
    • $ asdf global rust 1.63.0
    • $ source ~/.asdf/installs/rust/1.63.0/env
    • $ rustup default 1.63.0

If you have some errors about parinfer when you open Clojure code, you can try to build a new release using:

  • $ cd ~/.local/share/nvim/site/pack/packer/opt/parinfer-rust
  • $ cargo build --release

At this point, your nvim should be opening and not showing any error message.

Guide to some plugin's dependencies

Install nerd font

To make the icons work (from nvim-tree and lualine for example), you need a font patched with nerd font. I like to use JetBrainsMono.

Brew (macOS only) Tap the font cask to make the Jetbrains Mono font available : $ brew tap homebrew/cask-fonts

Install it using the font-jetbrains-mono cask: $ brew install --cask font-jetbrains-mono $ brew install --cask font-jetbrains-mono-nerd-font

Manual instalation for Linux/Mac/Windows https://github.com/ryanoasis/nerd-fonts/blob/master/patched-fonts/JetBrainsMono/font-info.md#manual-installation

Change your terminal font to the one with nerd font patched. If you use iterm2 like me, you can change the font in Preferences -> Profile -> Text.

Telescope dependencies

Telescope suggested dependencies. You can have an analysis of your Telescope dependencies using: :checkhealth telescope in nvim.

The non optional dependencies for me are:

  • BurntSushi/ripgrep is required for live_grep and grep_string. Install link.
  • fd is a simple, fast and user-friendly alternative to find. install link.

** macOs users can use brew** $ brew install ripgrep $ brew install fd

How to use Clojure mode

How to install LSP server language

In the first time you open some Clojure code (in the bottom right shows clojure when detected), you can check your LSP install (inside nvim) with: :LspInfo

If it shows "0 client(s) attached to this buffer", it means you need to install it. To install a LSP server (inside nvim): :LspInstall

It'll show a LSP installer modal with the status and it should works.

Using LSP features

TODO

Evaluating to repl with Conjure

TODO

nvim-setup's People

Contributors

rogerleite avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.