From 572626d4c35dd6b47d4a0c74e7877c99e50012b5 Mon Sep 17 00:00:00 2001 From: winston Date: Fri, 10 Mar 2023 09:33:11 +0100 Subject: [PATCH] feat(ideavim): init --- home/apps/ideavim/ideavimrc | 84 +++++++++++++++++++++++++++++++++++++ home/default.nix | 3 ++ 2 files changed, 87 insertions(+) create mode 100644 home/apps/ideavim/ideavimrc diff --git a/home/apps/ideavim/ideavimrc b/home/apps/ideavim/ideavimrc new file mode 100644 index 0000000..8143b13 --- /dev/null +++ b/home/apps/ideavim/ideavimrc @@ -0,0 +1,84 @@ +" vim:ft=vim:fenc=utf-8:fdm=marker +""" map leader to ---------------------------------------------------- +let mapleader=" " + +""" emulated plugins +" use 'c|d|yia' to c|d|y inner arguments +set argtextobj +" enable gcc / gc+motion to toggle comments +set commentary +" jump around text easier, with as leader +set easymotion +" highlight yank. duh. +set highlightedyank +" vim navigation for the dir tree view +set NERDTree +set ReplaceWithRegister +set surround +set textobj-entire +" which-key, yay +set which-key + +""" Common settings ---------------------------------------------------------- +" '_' is a word separator +set iskeyword-=_ +set relativenumber +set number +set showcmd +set showmode +" scroll offset +set scrolloff=5 +set sidescrolloff=5 +" don't use Ex mode, use Q for formatting. +map Q gq + +""" IDEA-specific settings --------------------------------------------------- +set ideamarks +set ideajoin +set ideastatusicon=gray + +""" Mappings ----------------------------------------------------------------- +" IDEA binds +map a (Annotate) +map b (ToggleLineBreakpoint) +map h (Vcs.ShowTabbedFileHistory) +map rn (RenameElement) + +" plugin binds +map :NERDTreeToggle + +" easier split navigation +nnoremap +nnoremap +nnoremap +nnoremap +nnoremap +nnoremap +nnoremap +nnoremap + +sethandler a:vim +sethandler a:vim +sethandler n:ide + +map (PreviousTab) +map > (NextTab) +map (NewScratchFile) +map (CloseContent) + +" Zen mode +map zz (ToggleZenMode) + +" File navigation +map ff (GotoFile) +map fg (FindInPath) +map fl (RecentLocations) + +map [d (GotoPreviousError) +map ]d (GotoNextError) + +map [c VcsShowPrevChangeMarker +map [c VcsShowNextChangeMarker + +" show hoverdoc +map H (ShowErrorDescription) \ No newline at end of file diff --git a/home/default.nix b/home/default.nix index fc64cac..8ac9365 100644 --- a/home/default.nix +++ b/home/default.nix @@ -1,5 +1,6 @@ { config, + flakePath, lib, pkgs, machine, @@ -84,4 +85,6 @@ in { man.enable = true; taskwarrior.enable = true; }; + + xdg.configFile."ideavim/ideavimrc".source = config.lib.file.mkOutOfStoreSymlink "${flakePath}/home/apps/ideavim/ideavimrc"; }