Neovim: Add LaTeX specific localleader mappings
This commit is contained in:
@ -99,15 +99,18 @@ in {
|
||||
|
||||
globals = {
|
||||
mapleader = " ";
|
||||
|
||||
# TODO: Set this differntly and actually move local keybindings to this, e.g. for LaTeX
|
||||
mallocalleader = " ";
|
||||
maplocalleader = ",";
|
||||
};
|
||||
|
||||
opts = import ./vim_opts.nix {inherit lib mylib;};
|
||||
extraConfigLuaPost = builtins.readFile ./extraConfigLuaPost.lua;
|
||||
extraConfigLua = builtins.readFile ./extraConfigLua.lua;
|
||||
|
||||
extraFiles = {
|
||||
# For this its probably important to set the default filetype to tex (see extraConfigLua)
|
||||
"ftplugin/tex.lua".text = mylib.generators.toLuaKeymap (import ./mappings_latex.nix {});
|
||||
};
|
||||
|
||||
# extraLuaPackages = with pkgs.lua51Packages; [];
|
||||
# extraPython3Packages = p: [];
|
||||
|
||||
@ -1585,6 +1588,7 @@ in {
|
||||
pkg = pkgs.vimPlugins.vimtex;
|
||||
init = ''
|
||||
function()
|
||||
vim.g.vimtex_mappings_enabled = false
|
||||
vim.g.vimtex_view_method = "zathura"
|
||||
vim.g.vimtex_compiler_latexmk = {
|
||||
options = {
|
||||
|
@ -2,6 +2,9 @@
|
||||
require("lazy.core.config").options.ui.border = "rounded"
|
||||
require("lazy.core.config").options.rocks.enabled = false
|
||||
|
||||
-- Default filetype to tex instead of plaintex
|
||||
vim.g.tex_flavor = "latex"
|
||||
|
||||
-- Toggle inline diagnostics and show border
|
||||
vim.g.enable_inline_diagnostics = false
|
||||
vim.diagnostic.config({
|
||||
|
@ -1,6 +1,8 @@
|
||||
{...}: let
|
||||
# TODO: Doesn't work reliably. I think they are rebound by plugins after? Try setting in extraConfigLuaPost...
|
||||
disabled-mappings = let
|
||||
mkDisabledMapping = mapping: {
|
||||
mode = ["n" "v"];
|
||||
key = mapping;
|
||||
action = "<Nop>";
|
||||
};
|
||||
@ -11,6 +13,14 @@
|
||||
"S"
|
||||
"t"
|
||||
"T"
|
||||
|
||||
# Use flash to repeat f/F instead of ;/,
|
||||
# ;/, are now free for localleader and exiting visual mode like helix
|
||||
","
|
||||
";"
|
||||
|
||||
# Use Telescope on "/", I don't want backwards search
|
||||
"?"
|
||||
];
|
||||
in
|
||||
builtins.map mkDisabledMapping disableMappings;
|
||||
@ -247,6 +257,12 @@
|
||||
action = "<cmd>Telescope current_buffer_fuzzy_find<cr>";
|
||||
options.desc = "Grep Buffer";
|
||||
}
|
||||
{
|
||||
mode = "v";
|
||||
key = ";";
|
||||
action = "<Esc>";
|
||||
options.desc = "Exit Visual Mode";
|
||||
}
|
||||
];
|
||||
|
||||
leader = [
|
||||
@ -588,12 +604,12 @@
|
||||
action = "<cmd>:set wrap!<cr>";
|
||||
options.desc = "Word Wrapping";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>tv";
|
||||
action = "<cmd>VimtexTocToggle<cr>";
|
||||
options.desc = "VimTex ToC";
|
||||
}
|
||||
# {
|
||||
# mode = "n";
|
||||
# key = "<leader>tv";
|
||||
# action = "<cmd>VimtexTocToggle<cr>";
|
||||
# options.desc = "VimTex ToC";
|
||||
# }
|
||||
];
|
||||
|
||||
leader-git = [
|
||||
@ -679,19 +695,32 @@
|
||||
action = "<cmd>lua vim.lsp.buf.rename()<cr>";
|
||||
options.desc = "Rename Symbol";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>ca";
|
||||
action = "<cmd>lua vim.lsp.buf.code_action()<cr>";
|
||||
options.desc = "Code Actions";
|
||||
}
|
||||
# {
|
||||
# mode = "n";
|
||||
# key = "<leader>cr";
|
||||
# action = ":IncRename ";
|
||||
# options.desc = "Rename LSP symbol";
|
||||
# }
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>ca";
|
||||
action = "<cmd>lua vim.lsp.buf.code_action()<cr>";
|
||||
options.desc = "Code Actions";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>cI";
|
||||
action = "<cmd>Telescope lsp_incoming_calls<cr>";
|
||||
options.desc = "Incoming Calls";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>cO";
|
||||
action = "<cmd>Telescope lsp_outgoing_calls<cr>";
|
||||
options.desc = "Outgoing Calls";
|
||||
}
|
||||
|
||||
# GoTo
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>cg";
|
||||
@ -729,22 +758,37 @@
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>cI";
|
||||
action = "<cmd>Telescope lsp_incoming_calls<cr>";
|
||||
options.desc = "Incoming Calls";
|
||||
key = "<leader>cge";
|
||||
action = "<cmd>lua vim.diagnostic.goto_next()<cr>";
|
||||
options.desc = "Next Error";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>cO";
|
||||
action = "<cmd>Telescope lsp_outgoing_calls<cr>";
|
||||
options.desc = "Outgoing Calls";
|
||||
key = "<C-e>";
|
||||
action = "<cmd>lua vim.diagnostic.goto_next()<cr>";
|
||||
options.desc = "Next Error";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>cgE";
|
||||
action = "<cmd>lua vim.diagnostic.goto_prev()<cr>";
|
||||
options.desc = "Previous Error";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<C-S-e>";
|
||||
action = "<cmd>lua vim.diagnostic.goto_prev()<cr>";
|
||||
options.desc = "Previous Error";
|
||||
}
|
||||
];
|
||||
|
||||
localleader-latex = [
|
||||
];
|
||||
in
|
||||
builtins.concatLists [
|
||||
disabled-mappings
|
||||
|
||||
no-leader
|
||||
|
||||
leader
|
||||
leader-help
|
||||
leader-quit
|
||||
@ -754,4 +798,6 @@ in
|
||||
leader-toggles
|
||||
leader-git
|
||||
leader-code
|
||||
|
||||
localleader-latex
|
||||
]
|
||||
|
@ -3,6 +3,48 @@
|
||||
mode = "n";
|
||||
key = "<localleader>t";
|
||||
action = "<cmd>VimtexTocToggle<cr>";
|
||||
options.desc = "VimTex ToC";
|
||||
options.desc = "Vimtex ToC";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<localleader>c";
|
||||
action = "<cmd>VimtexCompile<cr>";
|
||||
options.desc = "Vimtex Compile";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<localleader>C";
|
||||
action = "<cmd>VimtexClean!<cr>";
|
||||
options.desc = "Vimtex Clean";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<localleader>v";
|
||||
action = "<cmd>VimtexView<cr>";
|
||||
options.desc = "Vimtex View";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<localleader>I";
|
||||
action = "<cmd>VimtexInfo<cr>";
|
||||
options.desc = "Vimtex Info";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<localleader>,";
|
||||
action = "<cmd>VimtexContextMenu<cr>";
|
||||
options.desc = "Vimtex Context Menu";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<localleader>e";
|
||||
action = "<cmd>VimtexErrors<cr>";
|
||||
options.desc = "Vimtex Errors";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<localleader>p";
|
||||
action = "<cmd>VimtexDocPackage<cr>";
|
||||
options.desc = "Vimtex Package Docs";
|
||||
}
|
||||
]
|
||||
|
@ -46,4 +46,17 @@
|
||||
else if (args == null)
|
||||
then "nil"
|
||||
else "";
|
||||
|
||||
toLuaKeymap = args: let
|
||||
removeDeprecatedMapAttrs = v: builtins.removeAttrs v ["lua"];
|
||||
in ''
|
||||
-- Set up keybinds using mylib.generators.toLuaKeymap {{{
|
||||
do
|
||||
local __nixvim_binds = ${toLuaObject (map removeDeprecatedMapAttrs args)}
|
||||
for i, map in ipairs(__nixvim_binds) do
|
||||
vim.keymap.set(map.mode, map.key, map.action, map.options)
|
||||
end
|
||||
end
|
||||
-- }}}
|
||||
'';
|
||||
}
|
||||
|
Reference in New Issue
Block a user