Commit graph

230 commits

Author SHA1 Message Date
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
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
e5a3fee955 nvim: init.vim: Switch to pencil colorscheme 2019-12-06 08:56:27 +05:30
c17cc61f6f nvim: init.vim: Set background
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-05 22:19:30 +05:30
3250980b83 nvim: init.vim: Add auto pairs & incsearch 2019-12-05 15:07:11 +05:30
3036a0300a nvim: init.vim: Group key bindings as per filetype 2019-12-05 14:25:46 +05:30
47739fc256 nvim: init.vim: Miscellaneous additions & improvements 2019-12-05 13:57:06 +05:30
edc425c029 nvim: init.vim: Remove merginal 2019-12-05 12:25:05 +05:30
4549f10038 nvim: init.vim: Add more gitgutter settings 2019-12-05 11:04:23 +05:30
51470fbcf6 nvim: init.vim: Add vim which key 2019-12-05 10:42:09 +05:30
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
236048fb2f nvim: init.vim: Group the configurations 2019-12-04 12:38:00 +05:30
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
6ca10e38b2 nvim: init.vim: Let terminal job id be echoed to status line 2019-12-04 11:19:18 +05:30
e03e64dd56 nvim: init.vim: Add shortcut for Merginal 2019-12-04 10:45:21 +05:30
ec14943f55 nvim: init.vim: Add vim-slime 2019-12-04 10:42:45 +05:30
fc225d7dd8 nvim: init.vim: Minor updates to airline 2019-12-04 07:59:57 +05:30
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
89d199f2b7 nvim: init.vim: Miscellaneous fixes
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-03 18:12:36 +05:30
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
ad991c0b12 nvim: init.vim: Add shortcut for generating tags in Haskell project 2019-12-03 11:29:52 +05:30
b9e7a26560 nvim: init.vim: Enable vim-togglelist
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-02 22:12:00 +05:30
0a9b5e78ca nvim: init.vim: Reintroduce QFGrep for cscope
Commit 6a26c59f removed Quickfix + QFGrep enhancement for
cscope since we wanted to use fzf and later skim. However,
since we now want to have as much as possible only pure
vimscript dependencies, reintroduce this so we need not
depend on fzf or any external fuzzy search tool anymore
with our recent usage of vim-clap.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-02 19:54:02 +05:30
b3ac08c56f nvim: init.vim: Do not load sessions while explicitly loading a file
Also remove spell lang for git commits as it seems to complain
about them.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-02 18:03:32 +05:30
960af2006a nvim: init.vim: Remove rooter
Rooter seems to effect the cscope & fzf integration.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-02 16:52:53 +05:30
9dd0ad4e87 nvim: init.vim: Switch to vim-clap
vim-clap seems to be much nicer and has better integration
with the floating window feature of neovim.

Use fzf again since we need cscope integration. Eventually
we would like to have a cscope provider for clap. Also fzf
seems to be installed by default on Manjaro i3.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-02 16:52:42 +05:30
7db7083a37 nvim: init.vim: Miscellaneous improvements
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-02 11:25:12 +05:30
adb1e875f2 nvim: init.vim: Remove rust-doc as it does not help
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-02 08:48:04 +05:30
09bf6ef4c4 nvim: init.vim: Add rustdoc and format on autosave
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-01 22:00:38 +05:30
1e5b19d740 nvim: init.vim: Miscellaneous cleanups
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-12-01 21:31:18 +05:30
bdae1542b0 nvim: init.vim: Modify key bindings as recommended by plugin docs
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-11-27 19:31:03 +05:30
92c9516ab4 nvim: init.vim: Remove vim swoop
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-11-27 16:32:39 +05:30
6fbc3fae0f nvim: init.vim: Add comfortable motion
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-11-27 13:03:51 +05:30
754f80a43e nvim: init.vim: Miscellaneous improvements
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-11-27 12:58:41 +05:30
9e7dcba80a nvim: init.vim: Autoresize window
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-11-26 19:53:18 +05:30
b304adcfdd nvim: init.vim: menuone is not we need in completeopt
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-11-25 21:46:54 +05:30
e9941f935a nvim: init.vim: Switch to vim-workspace
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-11-25 21:45:20 +05:30
0c607cf1ce nvim: init.vim: Update format options
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-11-25 21:04:56 +05:30
c5af132ec6 nvim: init.vim: Open fuzzy search results in floating window
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-11-25 15:38:36 +05:30
1f28479f98 nvim: init.vim: Fix tabbing in deoplete
Use supertab to fix tabbing in deoplete which is backward
and change completeopt.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-11-25 15:38:00 +05:30
9836b05e6a nvim: init.vim: Add deoplete-tag for tag based completions
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-11-25 14:20:08 +05:30
9bf38af00a nvim: init.vim: Add better syntax highlighter for Python
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-11-24 21:06:04 +05:30
64db0550c1 nvim: init.vim: Miscellaneous settings
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-11-24 18:59:44 +05:30
cc0e78bf1f Change escape key binding for escaping from terminal
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-11-23 20:50:03 +05:30
aa8e6dfd18 nvim: init.vim: Disable escape in command mode as well
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-11-22 17:17:34 +05:30
99149dbe36 nvim: init.vim: Add quickfix reflector 2019-11-20 15:24:19 +05:30
5ab23c2bdd nvim: init.vim: Remap escape keys 2019-11-20 11:44:47 +05:30
dfecf742a7 nvim: init.vim: Increase hoogle search count
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-11-19 20:38:00 +05:30
aa23738970 nvim: init.vim: Add some more nerdtree shortcuts 2019-11-19 10:48:40 +05:30
a32d244694 nvim: init.vim: Remove redundant cscopemaps 2019-11-18 13:54:30 +05:30
d8faed50e3 nvim: init.vim: Switch to skim from fzf 2019-11-18 12:25:56 +05:30
87db61b102 nvim: init.vim: Add shortcuts for splits 2019-11-18 11:13:27 +05:30
d2c059bb40 nvim: init.vim: Disable ex mode and swap & backup files 2019-11-18 10:45:12 +05:30
f4f9cfe0e6 Remove buffergator & use buffer numbers
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-11-16 20:36:31 +05:30
135b3ec154 nvim: init.vim: Do not trigger neomake on BufWinEnter
Triggering neomake on BufWinEnter auto command becomes a
problem if the make program does not exist. In Haskell, if
for a project hlint is not installed using stack, opening
the editor stalls.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2019-11-16 20:00:48 +05:30