All Projects → pyrho → nerveux.nvim

pyrho / nerveux.nvim

Licence: MIT License
A neovim plugin written in lua to interact with the neuron Zettelkasten software.

Programming Languages

lua
6591 projects
Vim Script
2826 projects

Projects that are alternatives of or similar to nerveux.nvim

vimrc
My neovim config
Stars: ✭ 43 (+126.32%)
Mutual labels:  neovim, nvim
cosmos-nvim
A must-have configuration for Spacemacs users after defecting to Vim
Stars: ✭ 62 (+226.32%)
Mutual labels:  neovim, nvim
dotfiles
dotfiles of my linux setup
Stars: ✭ 25 (+31.58%)
Mutual labels:  neovim, nvim
lir.nvim
Neovim file explorer
Stars: ✭ 194 (+921.05%)
Mutual labels:  neovim, nvim
focus.nvim
Auto-Focusing and Auto-Resizing Splits/Windows for Neovim written in Lua. A full suite of window management enhancements. Vim splits on steroids!
Stars: ✭ 289 (+1421.05%)
Mutual labels:  neovim, nvim
close-buffers.nvim
📑 Delete multiple vim buffers based on different conditions
Stars: ✭ 54 (+184.21%)
Mutual labels:  neovim, nvim
nvim-ghost.nvim
👻 GhostText plugin for Neovim with zero dependencies 🎉 Supports neovim running inside WSL too! 🥳 Windows/Linux/macOS supported out-of-the-box! 😄 (Other OSes need python3.6+ installed)
Stars: ✭ 32 (+68.42%)
Mutual labels:  neovim, nvim
Node Client
Nvim Node.js client and plugin host
Stars: ✭ 243 (+1178.95%)
Mutual labels:  neovim, nvim
nerd-galaxyline
A modern and great-looking status bar for neovim
Stars: ✭ 27 (+42.11%)
Mutual labels:  neovim, nvim
nii-nvim
A minimal neovim configuration
Stars: ✭ 69 (+263.16%)
Mutual labels:  neovim, nvim
dotfiles
🚀 tmux, ohmyzsh, powerlevel10k, neovim 🔧
Stars: ✭ 24 (+26.32%)
Mutual labels:  neovim, nvim
agitator.nvim
No description or website provided.
Stars: ✭ 16 (-15.79%)
Mutual labels:  neovim, nvim
Comment.nvim
🧠 💪 // Smart and powerful comment plugin for neovim. Supports treesitter, dot repeat, left-right/up-down motions, hooks, and more
Stars: ✭ 796 (+4089.47%)
Mutual labels:  neovim, nvim
neovim
🌟 Cool & Modularized vim configurations to work like an IDE
Stars: ✭ 17 (-10.53%)
Mutual labels:  neovim, nvim
better-escape.nvim
Escape from insert mode without delay when typing
Stars: ✭ 166 (+773.68%)
Mutual labels:  neovim, nvim
FTerm.nvim
🔥 No-nonsense floating terminal plugin for neovim 🔥
Stars: ✭ 353 (+1757.89%)
Mutual labels:  neovim, nvim
Vim Lsp Cxx Highlight
Vim plugin for C/C++/ObjC semantic highlighting using cquery, ccls, or clangd
Stars: ✭ 231 (+1115.79%)
Mutual labels:  neovim, nvim
Rnvimr
Make Ranger running in a floating window to communicate with Neovim via RPC
Stars: ✭ 238 (+1152.63%)
Mutual labels:  neovim, nvim
nvim
Blazing fast neovim setup with 120 plugins.
Stars: ✭ 108 (+468.42%)
Mutual labels:  neovim, nvim
lesvim
Nvim config focus on Javascript, Typescript, Rust and Lua - 🚀 💪 ( Fast and Powerfull ) - Deno and other typescript LSP working well together
Stars: ✭ 69 (+263.16%)
Mutual labels:  neovim, nvim

Nerveux

A neovim lua plugin to interact with neuron (tested with version 1.9.31.0).

nerveux_normal See this asciinema recording for a little demo.

Highlights

  • Display zettle titles inline via virtual text overlays
    • in insert mode, the virtual text is place at the end of line
  • Search Zettels and their content with telescope.nvim
  • Cached queries via neuron daemon (for moar speed!)
    • daemon lifecycle is handled by the plugin

Install

Using vim-plug

Plug 'nvim-lua/plenary.nvim'
Plug 'nvim-lua/popup.nvim'
Plug 'nvim-telescope/telescope.nvim'
Plug 'pyrho/nerveux.nvim'

" Optional but recommended for better markdown syntax
Plug 'plasticboy/vim-markdown'

or packer

use {
    'pyrho/nerveux.nvim',
    requires = {
        'nvim-lua/plenary.nvim',
        'nvim-lua/popup.nvim',
        'nvim-telescope/telescope.nvim',
    },
    config = function() require"nerveux".setup() end,
}
-- Optional but recommended for better markdown syntax
use 'plasticboy/vim-markdown'

Setup

Simply add the following somewhere in your config to use the default settings.

require 'nerveux'.setup()

You can override the defaults like so:

require 'nerveux'.setup {
    --- path to neuron executable (default: neuron in PATH)
    neuron_cmd = "neuron",

    --- no trailing slash, (default: current directory)
    neuron_dir = "/my/zettel/root/dir",

    --- Use the cache, significantly faster (default: false)
    use_cache = true,

    --- start the neuron daemon to keep the cache up to date (default: false)
    start_daemon = true,

    --- show zettel titles inline as virtual text (default: false)
    virtual_titles = true,

    --- Automatically create mappings (default: false)
    create_default_mappings = true,

    --- The Highlight Group used for the inline zettel titles (default: Special)
    virtual_title_hl = "Special",
    virtual_title_hl_folge = "Repeat",

    --- `kill -9` the pid of the daemon at exit (VimPreLeave), only valid is
    -- start_daemon is true (default: false)
    kill_daemon_at_exit = true,

    --- You can overwrite this table partially
    -- and your settings will get merged with the defaults
    -- You can also disable a single mapping by settings it's value to an empty string.
    mappings = {

       -- Search all your zettels
       -- * then `<CR>` to edit
       -- * or `<Tab>` to insert the selected zettel ID under your cursor
       search_zettels = "gzz" ,

       -- Search the backlinks to the current zettel 
       backlinks_search = "gzb" ,

       -- Search the only the uplinks to the current zettel 
       uplinks_search = "gzu" ,

       -- Create a new zettel via neuron and :edit it
       new = "gzn" ,

       -- Search for content inside all the zettels
       search_content = "gzs" ,

       -- Insert the ID of the previously visited zettel
       insert_link = "gzl" ,

       -- Insert the ID of the previously visited zettel, but as a folgezettel
       insert_link_folge = "gzL" ,

       -- Open the zettel ID that's under the cursor
       follow = "<CR>" ,

       -- Show the help
       help = "gz?" ,
    }
}

Troubleshooting

You can run :checkhealth nerveux to run a basic diagnostic.

You can also start neovim like this:

$> DEBUG_NERVEUX=1 nvim a_zettel.md

This will write debug logs to the following file: ~/.cache/nvim/nerveux.log.

Known issues

  • Hiding the (see #3) zettel link with virtual text will not work if the opening brackets start on the first column. As far as I known this is an issue with nvim itself.

Similar plugins

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].