nvim: add smartcolumn

dev-docs
Moritz Böhme 2023-02-23 13:34:59 +01:00
parent 1815894015
commit c8f927f4dc
Signed by: moritz
GPG Key ID: 970C6E89EB0547A9
5 changed files with 72 additions and 26 deletions

View File

@ -775,6 +775,7 @@
"nixpkgs": "nixpkgs_8", "nixpkgs": "nixpkgs_8",
"nvim-treesitter-textsubjects": "nvim-treesitter-textsubjects", "nvim-treesitter-textsubjects": "nvim-treesitter-textsubjects",
"pre-commit-hooks": "pre-commit-hooks_3", "pre-commit-hooks": "pre-commit-hooks_3",
"smartcolumn-nvim": "smartcolumn-nvim",
"stable": "stable", "stable": "stable",
"utils": "utils_2" "utils": "utils_2"
} }
@ -804,6 +805,22 @@
"type": "github" "type": "github"
} }
}, },
"smartcolumn-nvim": {
"flake": false,
"locked": {
"lastModified": 1677125264,
"narHash": "sha256-Om0t759e6JYwcg6V+HdJk59h2yVt9kPLwGBMKNnP8AA=",
"owner": "m4xshen",
"repo": "smartcolumn.nvim",
"rev": "1202b0741b87b0815bdc6fc6ebacb2df9e6628ee",
"type": "github"
},
"original": {
"owner": "m4xshen",
"repo": "smartcolumn.nvim",
"type": "github"
}
},
"stable": { "stable": {
"locked": { "locked": {
"lastModified": 1676817468, "lastModified": 1676817468,

View File

@ -61,6 +61,12 @@
url = "github:RRethy/nvim-treesitter-textsubjects"; url = "github:RRethy/nvim-treesitter-textsubjects";
flake = false; flake = false;
}; };
smartcolumn-nvim = {
url = "github:m4xshen/smartcolumn.nvim";
flake = false;
};
}; };
outputs = outputs =

View File

@ -146,26 +146,32 @@ in
$windowMod = ALT $windowMod = ALT
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, D, exec, hyprctl keyword general:layout dwindle
bind = $mainMod, E, exec, emacsclient -c -a emacs # Window binds
bind = $mainMod, F, togglefloating, bind = $mainMod , F , togglefloating ,
bind = $mainMod SHIFT, F, fullscreen, bind = $mainMod , P , pseudo ,
bind = $mainMod, M, exec, hyprctl keyword general:layout master bind = $mainMod , Q , killactive ,
bind = $mainMod, P, pseudo, # dwindle bind = $mainMod , T , togglesplit ,
bind = $mainMod, Q, killactive, bind = $mainMod SHIFT , F , fullscreen ,
bind = $mainMod, R, exec, rofi -show combi
bind = $mainMod, C, exec, rofi -show calc -modi calc -no-show-match -no-sort | wl-copy # Program binds
bind = $mainMod, B, exec, rofi-bluetooth bind = $mainMod , B , exec , rofi-bluetooth
bind = $mainMod, RETURN, exec, kitty bind = $mainMod , C , exec , rofi -show calc -modi calc -no-show-match -no-sort | wl-copy
bind = $mainMod, T, togglesplit, # dwindle bind = $mainMod , D , exec , hyprctl keyword general:layout dwindle
bind = , XF86AudioLowerVolume, exec, pamixer -d 5 bind = $mainMod , E , exec , emacsclient -c -a emacs
bind = , XF86AudioMute, exec, pamixer -t bind = $mainMod , M , exec , hyprctl keyword general:layout master
bind = , XF86AudioNext, exec, playerctl -p "spotifyd,firefox" next bind = $mainMod , R , exec , rofi -show combi
bind = , XF86AudioPlay, exec, playerctl -p "spotifyd,firefox" play-pause bind = $mainMod , RETURN , exec , kitty
bind = , XF86AudioPrev, exec, playerctl -p "spotifyd,firefox" previous
bind = , XF86AudioRaiseVolume, exec, pamixer -i 5 # XF86 keys
bind = , XF86MonBrightnessDown, exec, brightnessctl s 10%- bind = , XF86AudioLowerVolume , exec , pamixer -d 5
bind = , XF86MonBrightnessUp, exec, brightnessctl s 10%+ bind = , XF86AudioRaiseVolume , exec , pamixer -i 5
bind = , XF86AudioMute , exec , pamixer -t
bind = , XF86AudioNext , exec , playerctl -p "spotifyd,firefox" next
bind = , XF86AudioPlay , exec , playerctl -p "spotifyd,firefox" play-pause
bind = , XF86AudioPrev , exec , playerctl -p "spotifyd,firefox" previous
bind = , XF86MonBrightnessDown , exec , brightnessctl s 10%-
bind = , XF86MonBrightnessUp , exec , brightnessctl s 10%+
# Move focus with mainMod + hjkl # Move focus with mainMod + hjkl
bind = $mainMod, H, movefocus, l bind = $mainMod, H, movefocus, l
@ -173,11 +179,17 @@ in
bind = $mainMod, K, movefocus, u bind = $mainMod, K, movefocus, u
bind = $mainMod, J, movefocus, d bind = $mainMod, J, movefocus, d
# Change current active window size with mainMod + hjkl # Change current active window size with mainMod + SHIFT + hjkl
bind = $mainMod SHIFT, H, resizeactive, -10 0 bind = $mainMod SHIFT, H, resizeactive, -10 0
bind = $mainMod SHIFT, L, resizeactive, 10 0
bind = $mainMod SHIFT, K, resizeactive, 0 -10
bind = $mainMod SHIFT, J, resizeactive, 0 10 bind = $mainMod SHIFT, J, resizeactive, 0 10
bind = $mainMod SHIFT, K, resizeactive, 0 -10
bind = $mainMod SHIFT, L, resizeactive, 10 0
# Move current active window with mainMod + ALT + hjkl
bind = $mainMod ALT, H, movewindow, l
bind = $mainMod ALT, J, movewindow, d
bind = $mainMod ALT, K, movewindow, u
bind = $mainMod ALT, L, movewindow, r
# Switch workspaces with mainMod + [0-9] # Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1 bind = $mainMod, 1, workspace, 1

View File

@ -22,6 +22,12 @@ let
version = mkVersionInput inputs.nvim-treesitter-textsubjects; version = mkVersionInput inputs.nvim-treesitter-textsubjects;
src = inputs.nvim-treesitter-textsubjects; src = inputs.nvim-treesitter-textsubjects;
}; };
smartcolumn-nvim = pkgs.vimUtils.buildVimPluginFrom2Nix {
pname = "smartcolumn-nvim";
version = mkVersionInput inputs.smartcolumn-nvim;
src = inputs.smartcolumn-nvim;
};
in in
{ {
options.my.programs.vim = { options.my.programs.vim = {
@ -83,6 +89,7 @@ in
nvim-web-devicons # for dashboard-nvim nvim-web-devicons # for dashboard-nvim
orgmode orgmode
plenary-nvim # for telescope, neogit plenary-nvim # for telescope, neogit
smartcolumn-nvim
telescope-nvim telescope-nvim
vim-lion vim-lion
which-key-nvim which-key-nvim

View File

@ -100,8 +100,8 @@ cmp.setup({
formatting = { formatting = {
format = lspkind.cmp_format({ format = lspkind.cmp_format({
mode = "symbol", -- show only symbol annotations mode = "symbol", -- show only symbol annotations
maxwidth = 50, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters) maxwidth = 50, -- prevent the popup from showing more than provided characters
ellipsis_char = "...", -- when popup menu exceed maxwidth, the truncated part would show ellipsis_char instead (must define maxwidth first) ellipsis_char = "...", -- when popup menu exceed maxwidth, the truncated part would show ellipsis_char instead
symbol_map = { symbol_map = {
Copilot = "", Copilot = "",
}, },
@ -118,7 +118,7 @@ cmp.setup({
["<C-f>"] = cmp.mapping.scroll_docs(4), ["<C-f>"] = cmp.mapping.scroll_docs(4),
["<C-Space>"] = cmp.mapping.complete(), ["<C-Space>"] = cmp.mapping.complete(),
["<C-e>"] = cmp.mapping.abort(), ["<C-e>"] = cmp.mapping.abort(),
["<CR>"] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. ["<CR>"] = cmp.mapping.confirm({ select = true }),
["<Tab>"] = cmp.mapping(function(fallback) ["<Tab>"] = cmp.mapping(function(fallback)
if cmp.visible() then if cmp.visible() then
cmp.select_next_item() cmp.select_next_item()
@ -447,3 +447,7 @@ require("nvim-tree").setup()
wk.register({ wk.register({
t = { "<cmd>NvimTreeFindFileToggle<cr>", "nvim tree" }, t = { "<cmd>NvimTreeFindFileToggle<cr>", "nvim tree" },
}, { prefix = "<leader>t", silent = true }) }, { prefix = "<leader>t", silent = true })
require("smartcolumn").setup({
colorcolumn = 120,
})