Commit graph

124 commits

Author SHA1 Message Date
Bruno BELANYI dfc7166126 [ADD][VIM] Mapping search using fzf 2019-11-05 16:00:42 +01:00
Bruno BELANYI f08e81154f [ADD][VIM] Info reader plug-in 2019-10-27 18:53:47 +01:00
Bruno BELANYI 824b349542 [FIX][VIM] Do not highlight trailing space in help 2019-10-27 18:53:36 +01:00
Bruno BELANYI a3d8ef9a63 [UPDATE][VIM] Move mappings to different files
Because a lot of my mappings use the <Leader> key, this is the only file
that *must* be loaded before all the others, otherwise the value of
leader when the script is read will be erroneous.

I also tried to use `git write-tree` and `git commit-tree` to emulate a
manual octopus merge to preserve the line history for each file. But
honestly that gave a graph that was too ugly for a history that really
did not need that amount of accountability. However it is a fun
exercise, and I recommend to everyone to try it at least once.
See Raymond Chen's blog `The Old New Thing`, with the post titled `How
to split out pieces of a file while preserving git line history: The
hard way with commit-tree`, for an explanation.
2019-10-26 00:55:20 +02:00
Bruno BELANYI 1d58d25015 [UPDATE][VIM] Remove Gmove leader mappings
I never use it, and git-messenger shadows the mapping, which I should
make less implicit by at least removing this useless option.
2019-10-25 23:48:16 +02:00
Bruno BELANYI d9eab5526f [UPDATE][VIM] Factorise b:undo_ftplugin
Instead of re-writing the same condition each time, I put the function
in an autoload plugin instead (which is going to be loaded just about
every time I start writing code, but that's neither here nor there) to
stop repeating myself.
2019-10-25 14:27:21 +02:00
Bruno BELANYI 36faab278e [FIX][VIM] Set b:undo_ftplugin if not set
I hit the problem when loading a fugitive window, but this should be
done for all filetype plug-ins before trying to append to the variable.
2019-10-25 14:15:56 +02:00
Bruno BELANYI 571d5bc9e0 [ADD][VIM] ALE settings for Mypy linter in Python 2019-10-25 14:01:19 +02:00
Bruno BELANYI 43a0785118 [ADD][VIM] Disable better-whitespace with fugitive
The inline diff view in fugitive contains spaces, they shouldn't be
highlighted to avoid distracting me.
2019-10-25 13:58:27 +02:00
Bruno BELANYI 044f5f4c14 [UPDATE][VIM] Disable spell-checking by default
I was starting to get annoyed by all the spell-checks happening inside
strings and comments that underlined words which are not mistakes but
also not in the dictionary.
2019-10-22 09:39:37 +02:00
Bruno BELANYI b6b79c71f5 [UPDATE][VIM] Remove gruvbox lightline theme
I don't like the colors of the gruvbox theme in lightline because errors
and warnings are not highlighted. I could fix the theme, but I've been
using instead wombat for a while and find that it looks perfectly fine.
2019-10-21 14:15:36 +02:00
Bruno BELANYI ef51e87126 [FIX][VIM] Correct ALE warning color in lightline
Because of a typo, the background color was not changed when warnings
were displayed.
2019-10-21 14:14:52 +02:00
Bruno BELANYI 62ce5480bc [UPDATE][VIM] Move Makefile setting to ftplugin 2019-10-19 05:46:29 +02:00
Bruno BELANYI 7de7a7ec2e [ADD][VIM] Use cheat40 plug-in
This is a nice plug-in to show a little 40-columns wide window
containing a cheat-sheet about Vim, or any custom cheat-sheet in the
runtimepath.
2019-10-19 05:46:29 +02:00
Bruno BELANYI edaafabbf7 [UPDATE][VIM] Move Netrw specific setting to ft 2019-10-19 05:46:29 +02:00
Bruno BELANYI e8314d6f34 [ADD][VIM] C++ namespace snippet 2019-10-19 05:46:29 +02:00
Bruno BELANYI 8faf2e188b [UPDATE][VIM] Better UltiSnips settings
The mappings are easier to use, and my personal snippets are stored
under my `.vim` folder in my home directory.
2019-10-19 05:46:29 +02:00
Bruno BELANYI 7701eb13d3 [ADD][VIM] Mapping to remove search highlighting 2019-10-19 05:46:29 +02:00
Bruno BELANYI cca1075b5b [UPDATE][VIM] Specify ALE linter timings 2019-10-19 05:46:29 +02:00
Bruno BELANYI 7dc3190ee2 [UPDATE][VIM] Move ALE linter options to ftplugin 2019-10-19 05:46:29 +02:00
Bruno BELANYI 0473705335 [UPDATE][VIM] Use b:undo_ftplugin
You're supposed to undo the changes that you made to a buffer's
variables when doing filetype-related settings. The variable
'b:undo_ftplugin' contains the commands necessary to revert any changes
that you have made to accomodate this filetype.

I removed the mappings for left and right in a quickfix windows because
I don't use them, and the 'qf' plug-in already maps those (meaning I had
an error when I tried to unmap them after qf already did so).
2019-10-19 05:46:29 +02:00
Bruno BELANYI a0a11c5eb9 [ADD][VIM] Remove numbering in terminal buffers 2019-10-19 05:46:29 +02:00
Bruno BELANYI c9a2b25a2c [UPDATE][VIM] Number toggle without a plug-in
It's really just a few lines of really simple Vimscript.
2019-10-19 05:46:29 +02:00
Bruno BELANYI 6dd31874c8 [UPDATE][VIM] Move filetype files to 'after/' 2019-10-19 05:46:29 +02:00
Bruno BELANYI f8112777ad [ADD][VIM] Better vim-unimpaired mappings
I use a french layout keyboard ('AZERTY' layout), which does not have
the greatest access to '[' and ']'.
2019-10-19 05:46:29 +02:00
Bruno BELANYI ca7ae65732 [ADD][VIM] Git-messenger plug-in to read commits 2019-10-19 05:46:29 +02:00
Bruno BELANYI 78d5a77552 [UPDATE][VIM] Remove unused fugitive mappings 2019-10-19 05:46:29 +02:00
Bruno BELANYI 90be3d4dba [ADD][VIM] Use flags from compile_command with ALE 2019-10-19 05:46:29 +02:00
Bruno BELANYI 809a348490 [ADD][VIM] Mappings to navigate quickfix history
It also supports navigating the location list history when inside a
location list.

The autoload plug-in idea was taken from this Vimways article:
<https://vimways.org/2018/colder-quickfix-lists/>
2019-10-19 05:46:29 +02:00
Bruno BELANYI 1a72e67273 [UPDATE][VIM] Move rust plugin to language section 2019-10-19 05:46:29 +02:00
Bruno BELANYI cae382e0b4 [ADD][VIM] FastFold plugin 2019-10-19 05:46:29 +02:00
Bruno BELANYI 30ea1eed72 [ADD][VIM] Enable US English spelling by default 2019-10-19 05:46:29 +02:00
Bruno BELANYI 2e6608668e [ADD][VIM] More fuzzy finder mappings 2019-10-19 05:46:29 +02:00
Bruno BELANYI b02cec8fff [ADD][VIM] Use spell-checking for git commit 2019-10-19 05:46:29 +02:00
Bruno BELANYI 1944ed578d [ADD][VIM] Use pyls in Pipenv with automatically
ALE can detect if the file you're currently editing is inside a Pipenv
environment, and use the pyls inside your environment to have access to
module definitions.

This doesn't launch pyls inside Pipenv when there's no environment
active for your file.
2019-10-19 05:46:29 +02:00
Bruno BELANYI 4753e32c30 [ADD][VIM] Shellcheck options for ALE
I want shellcheck to detect which shell is most appropriate on the `sh`
filetype, but explicitly use the `bash` dialect on `bash` and `zsh`
filetypes.

I also really don't like nullary conditions in shell, so I'll screen for
those too.

I might turn on the 'quote-safe-variables' check too, because I think
quoting variables is a good habit to take.
2019-10-19 05:46:29 +02:00
Bruno BELANYI f747005981 [ADD][VIM] Use shfmt with ALE 2019-10-19 05:46:29 +02:00
Bruno BELANYI 02ad16c4e8 [ADD][VIM] Pandoc to markdown ALE alias 2019-10-19 05:46:29 +02:00
Bruno BELANYI bdb53424c3 [ADD][VIM] Use dfmt fixer with ALE 2019-10-19 05:46:29 +02:00
Bruno BELANYI 871c6fb299 [ADD][VIM] Use jq fixer with ALE 2019-10-19 05:46:29 +02:00
Bruno BELANYI c108143526 [UPDATE][VIM] More ALE linters for python
I de-activated the pycodestyle module for pyls because I already use
flake8 to do that job.
2019-10-19 05:46:29 +02:00
Bruno BELANYI 5a13a35402 [ADD][VIM] Use rustfmt fixer with ALE 2019-10-19 05:46:29 +02:00
Bruno BELANYI fb646c8b74 [ADD][VIM] Rust options for ALE 2019-10-19 05:46:29 +02:00
Bruno BELANYI 57a48b3c05 [ADD][VIM] Local leader mapping
I don't use the '!' command to filter text through an external program.
If I need that functionality I use visual mode and a ':!' command.
2019-10-19 05:46:29 +02:00
Bruno BELANYI 5e5b8271c2 [ADD][VIM] Don't list Netrw buffers
I don't want to show a long list of directories in my buffer list,
2019-10-19 05:46:29 +02:00
Bruno BELANYI b7579b0a9b [UPDATE][VIM] Use 88 columns limit on python files 2019-10-19 05:46:29 +02:00
Bruno BELANYI 5184dd5a56 [ADD][VIM] Use black fixer with ALE
This introduces the '.vim' folder to my dot-files repository. I'll have
to think about splitting my '.vimrc' file into multiple files inside the
'.vim' folder.
2019-10-19 05:46:29 +02:00
Bruno BELANYI 558a138f2e [ADD][VIM] Compile flags for C/C++ in ALE
I usually code in C99 and C++17 because that's EPITA's guidelines.

I'll have to check out the new C11/C18 features (notably threading and
type genericity...) someday.
2019-10-19 05:46:29 +02:00
Bruno BELANYI 4ae3eda5f9 [ADD][VIM] Basic ALE settings 2019-10-19 05:46:29 +02:00
Bruno BELANYI 7940274ad0 [ADD][VIM] ALE and linting lighline integration
I changed the theme of lightline's statusline to wombat because the
errors did not have any color using gruvbox.
2019-10-19 05:46:29 +02:00
Bruno BELANYI 7134074e58 [UPDATE][VIM] Change to lightline status-line
I wanted to try something else, lightline seems more fun than the vanilla
statusline, and easier to modify than airline.

This is the bare minimum of status bar for me, without powerline
separators because I don't like them very much, and with basic
vim-fugitive integration.
2019-10-18 22:17:20 +02:00
Bruno BELANYI 5da42afec6 [UPDATE][VIM] Make timeout longer
I couldn't type most of my two letter leader bindings with such a short
timeout... This makes deletions in visual mode a bit longer, but I don't
think that's a terrible tradeoff.
2019-10-18 22:17:20 +02:00
Bruno BELANYI db4be2feaf [UPDATE][VIM] Remove tag management plugins
I have never used `gutentags` or `gutentags_plus`, mostly because the
only project that I have done that could have benefited from it (the
Tiger Compiler) did not play well with `universal-ctags`.
2019-10-18 22:17:20 +02:00
Bruno BELANYI 9a1e2d743a [UPDATE][VIM] Add folding markers to vimrc
To make navigation inside my configuration file easier, I added a
modeline at the end to enable markers for folding and added the markers
on all levels.
2019-10-18 22:17:20 +02:00
Bruno BELANYI 49d5849ec4 [UPDATE][VIM] Set short timeout
I am kind of impatient after all.
2019-10-18 22:17:20 +02:00
Bruno BELANYI 494ee185ef [ADD][VIM] Rust language plugin 2019-10-18 22:17:20 +02:00
Bruno BELANYI e735f11afd [UPDATE][VIM] Reorganised vimrc file
I added the `set hidden` option to keep modified buffers open in the
background and used that opportunity to modfify the order of my settings
and their categorisation.
2019-10-18 22:17:20 +02:00
Bruno BELANYI 376598a9a5 [ADD][VIM] Git file log mapping
<Leader>gl will open a new tab containing the history of the current
buffer in a location list as a series of git object.
2019-10-18 22:17:20 +02:00
Bruno BELANYI 525502165f [FIX][VIM] Unambiguous pull/push/merge mappings 2019-10-18 22:17:20 +02:00
Bruno BELANYI d496c519c2 [UPDATE][VIM] Cosmetic changes
Added section titles and made all assignments the same style.
2019-10-18 22:17:20 +02:00
Bruno BELANYI df48553a84 [ADD][VIM] Git commit, push, pull, merge mappings
I forgot to save the commit mapping last time...

I also added mapping to automatically write the push, pull, and merge
commands of vim-fugitive. They all populate the quick-fix list with
their output.
2019-10-18 22:17:20 +02:00
Bruno BELANYI 8c3f152356 [ADD][VIM] Vim-fugitive mappings
All fugitive specific mappings are prefixed by <Leader>
- ga : add file in current buffer
- gb : add blame information to the left of current buffer
- gc : commit all staged changes, open a new tab with commit message
- gd : open a diff view
- gs : open a buffer with the current git status
- gm : use git-mv to rename a file in the project

You can use the do and dp commands while in diff view to stage a partial
commit. Mappings have been added to make them work in visual mode too.
2019-10-18 22:17:20 +02:00
Bruno BELANYI 719d64a801 [ADD][VIM] UltiSnips configuration
Added the insertion shortcut and place-holder list jumps.
2019-10-18 22:17:20 +02:00
Bruno BELANYI 36b3757e67 [ADD] Fuzzy file finder for Vim, Bash, Zsh
Mappings for vcs files, all files, buffers, buffer history, and tags
have been added to the Vim configuration.

The installation process automatically adds the fzf sourcing commands to
both Bash and Zsh configuration files.
2019-10-18 22:17:20 +02:00
Bruno BELANYI f11c45e987 [UPDATE][VIM] Remap quick-fix and location-list toggles
<Leader>tf and <Leader>tl ("toggle fix" and "toggle list") are easier to
type and remember than the previous mappings.
2019-10-18 22:17:20 +02:00
Bruno BELANYI decd2fce1c [UPDATE][VIM] Mapping for location list toggle
I had a <Leader>qf mapping to toggle the quick-fix lis, but no mapping
to toggle the location list... The <Leader>ql mapping is now there to
complement it.
2019-10-18 22:17:20 +02:00
Bruno BELANYI 8fa4f9aebe [UPDATE][VIM] Add Makefile to gutentags root files 2019-10-18 22:17:20 +02:00
Bruno BELANYI 4512b88254 [ADD][VIM] gutentags_plus configuration
This plug-in needs the 'global' package to work properly.
2019-10-18 22:17:20 +02:00
Bruno BELANYI 771c14acc1 [UPDATE][VIM] Mapping for quick-fix interaction
All mappings are preceded by the leader key.
- fn/fp cycle through errors,
- ln/lp cycle through locations
- qf toggles the quick-fix list
2019-10-18 22:17:20 +02:00
Bruno BELANYI ccb110a6b9 [UPDATE][VIM] Show tags alert on status line 2019-07-13 03:44:05 +02:00
Bruno BELANYI 14380d14b7 [ADD][VIM] Mapping to edit and source vimrc file 2019-07-13 01:18:47 +02:00
Bruno BELANYI 1638682e14 [ADD][VIM] Indent in multiples of shiftwidth 2019-07-13 00:58:16 +02:00
Bruno BELANYI 6f842540a8 [FIX][VIM] Remove '<' and '>' remappings
I prefer having them available to change the indentation of a block of
code instead of having an easier time using vim-unimpaired, which I
haven't even bothered trying to learn yet...
2019-07-12 16:37:26 +02:00
Bruno BELANYI ccfc85493a [ADD] Vim configuration file 2019-07-11 23:21:11 +02:00