Commit graph

264 commits

Author SHA1 Message Date
Sanchayan Maity f1ba148d9d nvim: Add a LC key binding & remove a conflicting one
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-19 20:05:52 +05:30
Sanchayan Maity 4a18370609 nvim: Put window resize in autocmd group
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-19 19:48:28 +05:30
Sanchayan Maity c3bda249af nvim: Add Neomake shortcut for firing stack build
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-19 19:08:47 +05:30
Sanchayan Maity f82abc12a3 nvim: Remove deoplete plugin for Rust and Python
Now that we rely on Language Client, we do not need deoplete specific
completion plugins for Python or Rust.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-18 18:12:10 +05:30
Sanchayan Maity a42da14022 nvim: Add support for Vista
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-18 17:57:39 +05:30
Sanchayan Maity a18da66dc4 nvim: Use hasktags instead of fast-tags
hasktags seems to better as it seems to be recognized by tools like
Vista and gives a proper 'Tagbar' structure for tags.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-18 17:55:20 +05:30
Sanchayan Maity ffb2b5288e nvim: Add shortcuts for enabling & disabling Neomake
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-18 15:32:55 +05:30
Sanchayan Maity e696cbfde3 nvim: Add LSP support
Though we had removed this earlier bring it back. It saves the hassle of
having different plugin, packages or bindings for different languages.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-18 15:02:28 +05:30
Sanchayan Maity adc85a9f34 nvim: Use ; for commands in visual mode as well
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-16 15:59:30 +05:30
Sanchayan Maity 26bb3388d0 nvim: Let jedi show call signatures in command line
Call signatures being shown as pop up in buffer just are too intrusive
and mess things up.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-16 09:28:21 +05:30
Sanchayan Maity 57ddf41dfd nvim: Invoke neomake only after writing a file
It becomes extremely annoying if neomake keeps getting invoked even
before we have finished writing some sensible code and then saved the
file. So let neomake be invoked automatically only when we save a file.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-15 12:57:23 +05:30
Sanchayan Maity 5497c1b1b6 nvim: Switch to QF for cscope
While we have gone back and forth between quickfix and fzf for cscope,
it makes sense for cscope results to be loaded in quickfix window.
Results loaded in fzf window will disappear once selected since that's
how fuzzy finding is used but we do not want to have that behaviour with
results of tools like cscope. Also use a plugin this time instead of
having our own function. The plugin also provides the added advantage of
jumping to a global definition instead of even opening that in a window.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-15 09:46:56 +05:30
Sanchayan Maity 17da7b62ec nvim: Disallow docstring window to popup during completion
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-14 20:58:15 +05:30
Sanchayan Maity 939486ef54 nvim: Add diffconflicts plugin
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-13 19:26:04 +05:30
Sanchayan Maity 58f66d6d62 nvim: Update some FZF bindings
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-13 15:16:33 +05:30
Sanchayan Maity 04f63d2a19 nvim: Add FZF MRU plugin
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-13 14:30:48 +05:30
Sanchayan Maity 495e537e08 nvim: Cleanup & remove things we do not need
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-11 21:05:54 +05:30
Sanchayan Maity 617138019d nvim: Minor rearrangement
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-08 17:31:18 +05:30
Sanchayan Maity 27f165d8c3 nvim: Add pandoc support
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-07 09:02:43 +05:30
Sanchayan Maity a3777e9d45 nvim: Miscellaneous cleanups & improvements
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-06 19:39:10 +05:30
Sanchayan Maity ef32c9c6d9 nvim: Fix colors in terminal
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-06 19:12:24 +05:30
Sanchayan Maity d8778f264b nvim: Update vim-plug
While at it, ignore old plug file artifact.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-06 16:01:19 +05:30
Sanchayan Maity aef4a3c885 nvim: Use floating window for cscope fzf output
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-06 15:58:22 +05:30
Sanchayan Maity e951bb849f nvim: init.vim: Setup ghcid/hoogle based on environment
We may be running in a nix environment or without stack supported
project. Check this and setup the environment variable for ghcid and
hoogle plugin accordingly.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-01 12:18:30 +05:30
Sanchayan Maity e2c94e87d6 nvim: init.vim: Use of K conflicts with document access
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-01 12:15:55 +05:30
Sanchayan Maity 7200bbece7 Switch to using stow for dotfiles management
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-31 14:18:38 +05:30
Sanchayan Maity d113ff9d6b nvim: init.vim: Remove netrw settings
vinegar seems to behave weirdly if these settings are in place. For
example, each invocation of '-' results in a new netrw window and it
persists unless explicitly closed.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-31 12:13:40 +05:30
Sanchayan Maity a42cc7bba7 nvim: init.vim: Use custom bindings for smoothie
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-30 20:22:28 +05:30
Sanchayan Maity 05a281029f nvim: init.vim: Remove unimpaired
unimpaired plugin adds more than 15ms of load time and sometimes 20+ms
have also been seen. Not worth it. Just steal or modify some of the
bindings we care about.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-30 19:46:15 +05:30
Sanchayan Maity e727452726 nvim: init.vim: Fix binding for save
w is for word motion. Do not use it without leader.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-30 19:15:26 +05:30
Sanchayan Maity 83b5ba6487 nvim: init.vim: Remove fzf installation
Now that we do not need to take care of shitty ubuntu, remove fzf
install. On ubuntu, having a system installed fzf seemed to not work
with the fzf plugin.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-30 18:04:08 +05:30
Sanchayan Maity 8fcb0af80c nvim: init.vim: Reintroduce vim-vinegar
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-30 17:29:20 +05:30
Sanchayan Maity 4a640413a7 nvim: init.vim: Minor cleanup
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-30 17:07:11 +05:30
Sanchayan Maity fd9df06b50 nvim: init.vim: Remove some more leader usage
Follow in the foot steps of commit 4ebc8f3 and remove some more usage of
leader key.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-30 16:45:21 +05:30
Sanchayan Maity 037496f1e7 nvim: init.vim: Update some purescript related stuff
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-30 16:31:52 +05:30
Sanchayan Maity 4ebc8f3788 nvim: init.vim: Use vim-unimpaired & improve bindings
unimpaired provides some helpful bindings so use that. Remove redundant
bindings like the ones for quickfix & location list due to use of
unimpaired. It also provides consistent bindings across the board.

While at it, reduce the use of leader key. The idea behind using leader
key everywhere was taken since we migrated from spacemacs, However, for
non-conflicting bindings it's better to have a hit as few keys as
possible, so remove leader from few of the earlier bindings.

To see list of all mappings, use '9verbose nmap <key>'.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-30 16:29:11 +05:30
Sanchayan Maity df07def242 nvim: init.vim: Remove gdefault
It's also deprecated and not recommended to use.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-30 12:05:31 +05:30
Sanchayan Maity 1259c43e4d nvim: init.vim: Add awk-ward plugin
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-29 15:55:04 +05:30
Sanchayan Maity 495aa26e7f nvim: init.vim: Setup deoplete completion for Purescript
Also allow auto imports from PSC IDE.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-28 13:36:00 +05:30
Sanchayan Maity df3b9f5b0b nvim: init.vim: Cleanup indentation defaults autocmd group
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-28 11:29:08 +05:30
Sanchayan Maity 13d5041a8a nvim: init.vim: Fix & update purescript key bindings
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-28 11:28:26 +05:30
Sanchayan Maity fb96c1af6c nvim: init.vim: Use local leader for Haskell & C maps 2019-12-24 13:57:05 +05:30
Sanchayan Maity ca4b9f57f6 nvim: init.vim: Switch from comfortable motion to smoothie 2019-12-24 08:50:36 +05:30
Sanchayan Maity 2ea68f3b4f nvim: init.vim: Add helpers for tabular 2019-12-24 08:44:27 +05:30
Sanchayan Maity bc587c5991 nvim: init.vim: Update miscellaneous plugins
Couldn't really figure out how to use vim easy align, so just chuck it.
Add tabular & indentline.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-23 22:32:42 +05:30
Sanchayan Maity 5486336845 nvim: init.vim: Remove scheme plugin maps
We have SLIMV now and not the earlier scheme plugin.
2019-12-23 15:10:16 +05:30
Sanchayan Maity 0fd5af5978 nvim: init.vim: Remove leftover hardtime configuration 2019-12-23 15:06:28 +05:30
Sanchayan Maity fcb1ea960e nvim: init.vim: Update bindings
Try to use same bindings for common operations like jump to definition
and other code navigation operations across languages.
2019-12-23 11:24:43 +05:30
Sanchayan Maity bdf2f541b5 nvim: init.vim: Set keyword for Haskell filetypes to hoogle 2019-12-23 10:48:42 +05:30
Sanchayan Maity 4f0b45ac96 nvim: init.vim: Update textwidth settings globally & gitcommit
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-21 20:24:16 +05:30
Sanchayan Maity 0b9e52ffe4 nvim: init.vim: Switch to vim-commentary
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-21 12:30:44 +05:30
Sanchayan Maity e66a137b4f nvim: init.vim: Use SLIMV
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-15 16:14:53 +05:30
Sanchayan Maity c80bb00a55 nvim: init.vim: Revert back to using cscope with fzf
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-12 19:41:53 +05:30
Sanchayan Maity 77f5543f45 nvim: init.vim: Remove hard time
For code browsing j & k keys are required. Using Ctrl-d/e
combination to scroll becomes unwieldy.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-12 18:28:31 +05:30
Sanchayan Maity 13af45b091 nvim: init.vim: Set inccommand 2019-12-12 09:52:35 +05:30
Sanchayan Maity 350a66948d nvim: init.vim: Add neoformat
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-11 22:03:32 +05:30
Sanchayan Maity 7480ddff24 nvim: init.vim: Add default netrw settings 2019-12-11 09:08:52 +05:30
Sanchayan Maity 7fa8b136eb nvim: init.vim: Remove vim-vinegar
For some reason, vinegar bindings are not working. And there is no
point in debugging this.
2019-12-11 09:08:38 +05:30
Sanchayan Maity 4c4517c71f nvim: init.vim: Fix Neomake for C
Taken from
https://github.com/neomake/neomake/issues/1027

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-10 21:53:25 +05:30
Sanchayan Maity 9dfacd2c7b nvim: init.vim: Add Purescript support 2019-12-10 15:38:30 +05:30
Sanchayan Maity 58e5137876 nvim: init.vim: Add jedi-vim
Show Pydocs feature in deoplete jedi does not seem to consider
the complete word. For example, os.path.splitext placing cursor
on splitext seems to give an error. Same works in jedi-vim. Do
not use completions from jedi-vim though.
2019-12-10 12:29:13 +05:30
Sanchayan Maity e08b4113f0 nvim: init.vim: More easymotion settings
With easymotion makes quick-scope is not required.
2019-12-10 10:52:04 +05:30
Sanchayan Maity d832758501 nvim: init.vim: Add easy align plugin 2019-12-10 08:51:12 +05:30
Sanchayan Maity fe96f3ae1a nvim: init.vim: Update key bindings 2019-12-10 08:45:33 +05:30
Sanchayan Maity 4de4c74d5b nvim: init.vim: Spell lang seems to give error
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-09 19:16:59 +05:30
Sanchayan Maity e86154f9e1 nvim: init.vim: Add missing shortcut for Rg
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-09 18:49:11 +05:30
Sanchayan Maity 2a5e0f8a73 nvim: init.vim: Add vim-hardtime
Time to improve our vim chops.
2019-12-09 14:45:37 +05:30
Sanchayan Maity 2ffb605c11 nvim: init.vim: Add targets plugin 2019-12-09 09:46:29 +05:30
Sanchayan Maity a797230085 nvim: init.vim: Add fzf plugin explicitly
Without this, it seems to not work on Ubuntu even with latest
neovim and pynvim. On Manjaro, this was not a problem.
2019-12-09 09:17:30 +05:30
Sanchayan Maity c9715c9b69 nvim: init.vim: Remove vim-agriculture
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-08 19:28:19 +05:30
Sanchayan Maity 1885132796 nvim: init.vim: Add ultisnips
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-08 17:51:33 +05:30
Sanchayan Maity 0527052815 nvim: init.vim: Cleanup autocmd groups
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-08 12:24:17 +05:30
Sanchayan Maity 51d0f409b6 nvim: init.vim: Add localleader for which-key
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-07 17:22:34 +05:30
Sanchayan Maity 01470159ef nvim: init.vim: Use floating window for FZF
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-07 15:14:39 +05:30
Sanchayan Maity f98349ed99 nvim: init.vim: Add org mode
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-07 15:08:10 +05:30
Sanchayan Maity ec669640a9 nvim: init.vim: Add some more key bindings
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-06 22:21:52 +05:30
Sanchayan Maity 5984a6d528 nvim: init.vim: Switch back to fzf
Since fzf comes installed by default on Manjaro i3 and we
need some fuzzy finder on command line anyways switch to
it. The additional helpers around fzf cannot be ignored.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-06 21:05:31 +05:30
Sanchayan Maity 6a445e6685 nvim: init.vim: Update deoplete options 2019-12-06 14:05:03 +05:30
Sanchayan Maity bbecfe66ca nvim: init.vim: Add better syntax highlighting options for C & CPP 2019-12-06 10:31:46 +05:30
Sanchayan Maity a0ab5d020b Revert "nvim: init.vim: Switch to pencil colorscheme"
This reverts commit e5a3fee955.
2019-12-06 09:20:09 +05:30
Sanchayan Maity e5a3fee955 nvim: init.vim: Switch to pencil colorscheme 2019-12-06 08:56:27 +05:30
Sanchayan Maity c17cc61f6f nvim: init.vim: Set background
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-05 22:19:30 +05:30
Sanchayan Maity 3250980b83 nvim: init.vim: Add auto pairs & incsearch 2019-12-05 15:07:11 +05:30
Sanchayan Maity 3036a0300a nvim: init.vim: Group key bindings as per filetype 2019-12-05 14:25:46 +05:30
Sanchayan Maity 47739fc256 nvim: init.vim: Miscellaneous additions & improvements 2019-12-05 13:57:06 +05:30
Sanchayan Maity edc425c029 nvim: init.vim: Remove merginal 2019-12-05 12:25:05 +05:30
Sanchayan Maity 4549f10038 nvim: init.vim: Add more gitgutter settings 2019-12-05 11:04:23 +05:30
Sanchayan Maity 51470fbcf6 nvim: init.vim: Add vim which key 2019-12-05 10:42:09 +05:30
Sanchayan Maity d1264962a9 nvim: init.vim: Remove gutentags
We will just fire a tag generation command ourselves with Neomake.
No need for gutentags. It isn't smart anyways to work for multiple
languages and doesn't work on repos like gst-build.
2019-12-04 14:15:27 +05:30
Sanchayan Maity 236048fb2f nvim: init.vim: Group the configurations 2019-12-04 12:38:00 +05:30
Sanchayan Maity a2e5730165 nvim: init.vim: Switch to LeaderF
Ditch our plans to have vimscript only plugins. This seems to provide
much more functionality than clap & we are dependent on pynvim anyways
because we are gonna keep using deoplete.
2019-12-04 12:20:57 +05:30
Sanchayan Maity 6ca10e38b2 nvim: init.vim: Let terminal job id be echoed to status line 2019-12-04 11:19:18 +05:30
Sanchayan Maity e03e64dd56 nvim: init.vim: Add shortcut for Merginal 2019-12-04 10:45:21 +05:30
Sanchayan Maity ec14943f55 nvim: init.vim: Add vim-slime 2019-12-04 10:42:45 +05:30
Sanchayan Maity fc225d7dd8 nvim: init.vim: Minor updates to airline 2019-12-04 07:59:57 +05:30
Sanchayan Maity 83d381942f nvim: init.vim: Remove twiggy & switch to merginal
Twiggy does not seem to work with fish shell. See the below
issue and considering that it has been open since more than
a year does not look likely to be solved.
https://github.com/sodapopcan/vim-twiggy/issues/7

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-03 21:25:11 +05:30
Sanchayan Maity 89d199f2b7 nvim: init.vim: Miscellaneous fixes
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-03 18:12:36 +05:30
Sanchayan Maity a3501508ba nvim: init.vim: Improve startup time
https://github.com/hyiltiz/vim-plugins-profile
Use vim-plug lazy loading functionality to decrease start time.
erlang tags plugin seems to have been the major culprit.

Before:
python3 vim-plugins-profile.py -p nvim
Running nvim to generate startup logs... done.
Loading and processing logs... done.
Plugin directory: /home/sanchayan/.config/nvim/plugged
=====================================
Top 10 plugins slowing nvim's startup
=====================================
1        54.910   vim-erlang-tags
2         5.667   vim-sexp
3         4.000   vim-airline
4         3.672   vim-easymotion
5         3.433   nerdcommenter
6         2.914   neomake
7         1.884   vim-monokai
8         1.448   vim-gitgutter
9         0.968   vimtex
10        0.896   vim-fugitive
=====================================
Plotting result... done.

After:
python3 vim-plugins-profile.py -p nvim
Running nvim to generate startup logs... done.
Loading and processing logs... done.
Plugin directory: /home/sanchayan/.config/nvim/plugged
=====================================
Top 10 plugins slowing nvim's startup
=====================================
1         4.697   vim-airline
2         3.705   vim-easymotion
3         3.354   nerdcommenter
4         3.101   neomake
5         1.892   vim-monokai
6         1.599   vim-gitgutter
7         0.909   vim-fugitive
8         0.869   vimtex
9         0.630   supertab
10        0.491   deoplete.nvim
=====================================
Plotting result... done.
2019-12-03 15:00:29 +05:30
Sanchayan Maity ff65606652 nvim: init.vim: Man page support is included by default in neovim
Signed-off-by: Sanchayan Maity <sanchayan.maity@harman.com>
2019-12-03 14:10:29 +05:30
Sanchayan Maity ad991c0b12 nvim: init.vim: Add shortcut for generating tags in Haskell project 2019-12-03 11:29:52 +05:30