Commit graph

286 commits

Author SHA1 Message Date
ea87db710f nvim: Use Leader prefix for Neomake commands
Starting a command with 'n' resulted in a poor usage experience for
jumping to 'next' match of a search. Prefix all these commands with
Leader.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-02-10 09:23:40 +05:30
d259c571bb nvim: Set up LC bindings only if it is started
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-02-09 19:22:22 +05:30
46364f42e3 nvim: Use Purescript language server
We do not do Purescript really so just add the language server support
and remove the extra bindings for purs ide plugin, if we ever require at
work.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-02-09 19:22:14 +05:30
3bd7b6e544 nvim: Add vim-lastplace
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-02-09 18:14:52 +05:30
6c182f7301 nvim: Add dhall syntax plugin
While at it, also rearrange things a bit.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-02-04 10:25:48 +05:30
6f22f549e9 nvim: Fix remote plugin update for Semshi
A plugin requiring a run of UpdateRemotePlugins does not work if it is
only setup to load with the specific file type.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-02-03 09:45:49 +05:30
a8a3c1bb43 nvim: Switch to moonfly theme
The dark black background of moonfly theme I like. So switch. Rest
seems the same as nightfly.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-02-03 09:42:48 +05:30
cdee23a6b7 nvim: Switch to using nightfly theme
This theme has some better styled colors for Haskell and though
increases the load times in vim slightly seems better to use.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-31 09:05:15 +05:30
d4815d0fbf nvim: Enable relative numbering
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-29 19:13:46 +05:30
7d4f8818c9 nvim: Update bindings for GitGutter
Using u prefix bindings was resulting in delay for 'undo'.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-28 19:13:18 +05:30
293077d749 nvim: Upgrade vim-plug
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-27 21:00:42 +05:30
a45c59d69c nvim: Add some Haskell niceties
Some niceties taken from
http://silly-bytes.blogspot.com/2016/08/vim-haskell_11.html

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-27 20:59:02 +05:30
14010c552e nvim: Fix conflicting bindings in LC
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-27 18:47:23 +05:30
a5792a3f3a nvim: Use a custom stack compiler for Haskell
Neovim has a "stack" compiler file but this does not seem to work,
at least not in the shitty monorepo I am working on. Someone provided a
solution on Reddit which uses a custom compiler file and has been
modified to work on modules. Which is also perhaps why it doesn't work
in the monorepo project at work.

https://www.reddit.com/r/neovim/comments/es8wn7/haskell_makeprg_for_stack_build/
https://github.com/maxigit/vimrc/tree/2020/compiler

Use them and tie it up with Neomake! change.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-27 09:30:19 +05:30
f7d7f6a328 nvim: Add racket plugin
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-26 18:40:03 +05:30
a4782833f4 Revert "nvim: Revert back to use of ESC key"
This reverts commit 957b588f15.
2020-01-25 09:00:20 +05:30
18292749c1 nvim: Use local leader as key prefix for LC bindings
Using 'l' sometimes lead to false trigger as we also use it as our
primary 'Right' movement key.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-24 15:25:09 +05:30
957b588f15 nvim: Revert back to use of ESC key
Now that we use a 60% tenkeyless mechanical keyboard it is easier to
reach the ESC key and use it. Also it seems sometimes hitting jk pretty
fast to escape does not work so easily on the mechanical keyboard.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-22 22:20:40 +05:30
452e24ede4 nvim: Add Slimux
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-22 22:14:04 +05:30
298cc6242e nvim: Update Tabularize mappings
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-21 21:27:59 +05:30
dd6334984a nvim: Remove conflicting binding with LC
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-20 21:31:06 +05:30
d250fc507e nvim: Remove conflicting Tabularize mapping reported by checkhealth
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-19 20:08:13 +05:30
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
4a18370609 nvim: Put window resize in autocmd group
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-19 19:48:28 +05:30
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
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
a42da14022 nvim: Add support for Vista
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-18 17:57:39 +05:30
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
ffb2b5288e nvim: Add shortcuts for enabling & disabling Neomake
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-18 15:32:55 +05:30
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
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
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
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
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
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
939486ef54 nvim: Add diffconflicts plugin
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-13 19:26:04 +05:30
58f66d6d62 nvim: Update some FZF bindings
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-13 15:16:33 +05:30
04f63d2a19 nvim: Add FZF MRU plugin
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-13 14:30:48 +05:30
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
617138019d nvim: Minor rearrangement
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-08 17:31:18 +05:30
27f165d8c3 nvim: Add pandoc support
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-07 09:02:43 +05:30
a3777e9d45 nvim: Miscellaneous cleanups & improvements
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-06 19:39:10 +05:30
ef32c9c6d9 nvim: Fix colors in terminal
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-01-06 19:12:24 +05:30
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
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
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
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
7200bbece7 Switch to using stow for dotfiles management
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-31 14:18:38 +05:30
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
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
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
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
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
8fcb0af80c nvim: init.vim: Reintroduce vim-vinegar
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-30 17:29:20 +05:30
4a640413a7 nvim: init.vim: Minor cleanup
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-30 17:07:11 +05:30
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
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
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
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
1259c43e4d nvim: init.vim: Add awk-ward plugin
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-29 15:55:04 +05:30
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
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
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
fb96c1af6c nvim: init.vim: Use local leader for Haskell & C maps 2019-12-24 13:57:05 +05:30
ca4b9f57f6 nvim: init.vim: Switch from comfortable motion to smoothie 2019-12-24 08:50:36 +05:30
2ea68f3b4f nvim: init.vim: Add helpers for tabular 2019-12-24 08:44:27 +05:30
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
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
0fd5af5978 nvim: init.vim: Remove leftover hardtime configuration 2019-12-23 15:06:28 +05:30
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
bdf2f541b5 nvim: init.vim: Set keyword for Haskell filetypes to hoogle 2019-12-23 10:48:42 +05:30
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
0b9e52ffe4 nvim: init.vim: Switch to vim-commentary
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-21 12:30:44 +05:30
e66a137b4f nvim: init.vim: Use SLIMV
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-15 16:14:53 +05:30
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
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
13af45b091 nvim: init.vim: Set inccommand 2019-12-12 09:52:35 +05:30
350a66948d nvim: init.vim: Add neoformat
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-11 22:03:32 +05:30
7480ddff24 nvim: init.vim: Add default netrw settings 2019-12-11 09:08:52 +05:30
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
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
9dfacd2c7b nvim: init.vim: Add Purescript support 2019-12-10 15:38:30 +05:30
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
e08b4113f0 nvim: init.vim: More easymotion settings
With easymotion makes quick-scope is not required.
2019-12-10 10:52:04 +05:30
d832758501 nvim: init.vim: Add easy align plugin 2019-12-10 08:51:12 +05:30
fe96f3ae1a nvim: init.vim: Update key bindings 2019-12-10 08:45:33 +05:30
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
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
2a5e0f8a73 nvim: init.vim: Add vim-hardtime
Time to improve our vim chops.
2019-12-09 14:45:37 +05:30
2ffb605c11 nvim: init.vim: Add targets plugin 2019-12-09 09:46:29 +05:30
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
c9715c9b69 nvim: init.vim: Remove vim-agriculture
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-08 19:28:19 +05:30
1885132796 nvim: init.vim: Add ultisnips
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-08 17:51:33 +05:30
0527052815 nvim: init.vim: Cleanup autocmd groups
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-08 12:24:17 +05:30
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
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
f98349ed99 nvim: init.vim: Add org mode
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-07 15:08:10 +05:30
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
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
6a445e6685 nvim: init.vim: Update deoplete options 2019-12-06 14:05:03 +05:30