vim: Split out
This commit is contained in:
parent
4412180b3a
commit
2ad4bee0f9
9 changed files with 212 additions and 170 deletions
72
hm/vim/code.nix
Normal file
72
hm/vim/code.nix
Normal file
|
@ -0,0 +1,72 @@
|
|||
{ pkgs, lib, config, ... }:
|
||||
let
|
||||
# UPST
|
||||
vim-shot-f = pkgs.vimUtils.buildVimPlugin {
|
||||
pname = "vim-shot-f";
|
||||
version = "2016-02-05";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "deris";
|
||||
repo = "vim-shot-f";
|
||||
rev = "eea71d2a1038aa87fe175de9150b39dc155e5e7f";
|
||||
sha256 = "iAPvIs/lhW+w5kFTZKaY97D/kfCGtqKrJVFvZ8cHu+c=";
|
||||
};
|
||||
meta.homepage = "https://github.com/deris/vim-shot-f";
|
||||
};
|
||||
quick-scope = pkgs.vimUtils.buildVimPlugin rec {
|
||||
pname = "quick-scope";
|
||||
version = "2.6.1";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "unblevable";
|
||||
repo = "quick-scope";
|
||||
rev = "v${version}";
|
||||
sha256 = "TcA4jZIdnQd06V+JrXGiCMr0Yhm9gB6OMiTSdzMt/Qw=";
|
||||
};
|
||||
meta.homepage = "https://github.com/unblevable/quick-scope";
|
||||
};
|
||||
in
|
||||
{
|
||||
config = {
|
||||
programs.nixvim = {
|
||||
extraPlugins = with pkgs.vimPlugins; [
|
||||
# f/F mode
|
||||
vim-shot-f # Highlight relevant characters for f/F/t/T modes
|
||||
quick-scope # Highlight relevant characters for f/F modes one per word but always
|
||||
];
|
||||
options = {
|
||||
# From https://www.hillelwayne.com/post/intermediate-vim/
|
||||
scrolloff = 10;
|
||||
lazyredraw = true; # Do not redraw screen in the middle of a macro. Makes them complete faster.
|
||||
cursorcolumn = true;
|
||||
|
||||
# From http://stackoverflow.com/a/5004785/2766106
|
||||
list = true;
|
||||
listchars = "tab:╾╌,trail:·,extends:↦,precedes:↤,nbsp:_";
|
||||
showbreak = "↪";
|
||||
};
|
||||
plugins = {
|
||||
# Catches attention when cursor changed position
|
||||
specs = {
|
||||
enable = true;
|
||||
min_jump = 5;
|
||||
fader = { builtin = "pulse_fader"; };
|
||||
resizer = { builtin = "shrink_resizer"; };
|
||||
};
|
||||
|
||||
# Treesitter
|
||||
treesitter = {
|
||||
# Allows for better syntax highlighting
|
||||
enable = true;
|
||||
incrementalSelection = {
|
||||
enable = true;
|
||||
};
|
||||
# indent = true; # Not very working last time I tried apparently
|
||||
};
|
||||
# TODO Investigate https://github.com/nvim-treesitter/nvim-treesitter-textobjects
|
||||
indent-blankline.enable = true; # Show indent guides
|
||||
rainbow-delimiters.enable = true; # Randomly colore paired brackets
|
||||
|
||||
nvim-colorizer.enable = true; # Display colors of color-codes
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue