All Projects → hkupty → Nvimux

hkupty / Nvimux

Licence: apache-2.0
Neovim as a TMUX replacement

Programming Languages

lua
6591 projects

Projects that are alternatives of or similar to Nvimux

Tmux Complete.vim
Vim plugin for insert mode completion of words in adjacent tmux panes
Stars: ✭ 447 (+48.01%)
Mutual labels:  tmux, neovim, neovim-plugin
null-ls.nvim
Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.
Stars: ✭ 965 (+219.54%)
Mutual labels:  neovim, neovim-plugin
Blamer.nvim
A git blame plugin for neovim inspired by VS Code's GitLens plugin
Stars: ✭ 283 (-6.29%)
Mutual labels:  neovim, neovim-plugin
Vim Monokai Tasty
VIM Colour scheme
Stars: ✭ 279 (-7.62%)
Mutual labels:  neovim, neovim-plugin
Go Client
Nvim Go client
Stars: ✭ 284 (-5.96%)
Mutual labels:  neovim, neovim-plugin
black-nvim
A Neovim plugin to format your code using Black
Stars: ✭ 23 (-92.38%)
Mutual labels:  neovim, neovim-plugin
dotfiles
⛩️ My dotfiles on Artix Linux. Gruvbox | Neovim | tmux
Stars: ✭ 56 (-81.46%)
Mutual labels:  tmux, neovim
denite-gtags
Denite source for GNU Global
Stars: ✭ 27 (-91.06%)
Mutual labels:  neovim, neovim-plugin
nvim-dap-python
An extension for nvim-dap, providing default configurations for python and methods to debug individual test methods or classes.
Stars: ✭ 70 (-76.82%)
Mutual labels:  neovim, neovim-plugin
dotfiles
My arch setup script and dotfiles
Stars: ✭ 37 (-87.75%)
Mutual labels:  tmux, neovim
nrpattern.nvim
Neovim plugin to expand incrementing/decrementing to more formats.
Stars: ✭ 24 (-92.05%)
Mutual labels:  neovim, neovim-plugin
agitator.nvim
No description or website provided.
Stars: ✭ 16 (-94.7%)
Mutual labels:  neovim, neovim-plugin
nvim-lsp-smag
Seamless integration of language server locations into NeoVim
Stars: ✭ 60 (-80.13%)
Mutual labels:  neovim, neovim-plugin
neogen
A better annotation generator. Supports multiple languages and annotation conventions.
Stars: ✭ 339 (+12.25%)
Mutual labels:  neovim, neovim-plugin
cmp-under-comparator
nvim-cmp comparator function for completion items that start with one or more underlines
Stars: ✭ 77 (-74.5%)
Mutual labels:  neovim, neovim-plugin
dotfiles
🏠 dotfiles for my macOS environment
Stars: ✭ 17 (-94.37%)
Mutual labels:  tmux, neovim
Iron.nvim
Interactive Repl Over Neovim
Stars: ✭ 265 (-12.25%)
Mutual labels:  neovim, neovim-plugin
nvim-lsp-compl
A fast and asynchronous auto-completion plugin for Neovim >= 0.5, focused on LSP.
Stars: ✭ 46 (-84.77%)
Mutual labels:  neovim, neovim-plugin
boo-colorscheme-nvim
Boo is a colorscheme for Neovim with handcrafted support for LSP, Treesitter.
Stars: ✭ 62 (-79.47%)
Mutual labels:  neovim, neovim-plugin
igs.nvim
A minimalist Neovim plugin that enhances the usage of git status inside Neovim.
Stars: ✭ 17 (-94.37%)
Mutual labels:  neovim, neovim-plugin

NVIMUX

Nvimux allows neovim to work as a tmux replacement.

It does so by mapping tmuxs keybindings to neovim, using its windows, buffers and terminals.

Support nvimux

Support nvimux development by sending me some bitcoins at 1P4iGMqrBcjdgicC1EdQFA4qF91LtRri1Y.

Configuring

Nvimux is built on lua, meaning that you must use a somewhat recent version of neovim.

For the older version, based on viml, refer to the legacy branch. The legacy branch won't be maintained but will be kept for those who prefer it.

To configure nvimux, you can use both lua and viml to configure, though the first is much preferred.

A lua-based configuration for nvimux is as follows:

lua << EOF
local nvimux = require('nvimux')

-- Nvimux configuration
nvimux.config.set_all{
  prefix = '<C-a>',
  new_window = 'enew', -- Use 'term' if you want to open a new term for every new window
  new_tab = nil, -- Defaults to new_window. Set to 'term' if you want a new term for every new tab
  new_window_buffer = 'single',
  quickterm_direction = 'botright',
  quickterm_orientation = 'vertical',
  quickterm_scope = 't', -- Use 'g' for global quickterm
  quickterm_size = '80',
}

-- Nvimux custom bindings
nvimux.bindings.bind_all{
  {'s', ':NvimuxHorizontalSplit', {'n', 'v', 'i', 't'}},
  {'v', ':NvimuxVerticalSplit', {'n', 'v', 'i', 't'}},
}

-- Required so nvimux sets the mappings correctly
nvimux.bootstrap()
EOF

In case you don't set configuration options, please do run the following for nvimux to work:

lua require('nvimux').bootstrap()

On viml, the variables can be defined using the same name, prepending nvimux_ to it:

  let g:nvimux_prefix = '<C-a>',
  let g:nvimux_open_term_by_default = true,
  let g:nvimux_new_window_buffer = 'single',
  let g:nvimux_quickterm_direction = 'botright',
  let g:nvimux_quickterm_orientation = 'vertical',
  let g:nvimux_quickterm_scope = 't',
  let g:nvimux_quickterm_size = '80',

Credits & Stuff

This plugin is developed and maintained by Henry Kupty and it's completely free to use. The rationale behind the idea is described in this article. Consider helping by opening issues, Pull Requests or influencing your friends and colleagues to use!

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