Commit Graph

71 Commits

Author SHA1 Message Date
01ebc211bb vim:autocmd: Disable relative numbers in insert
As relative line numbers are only really needed in normal mode and in
the current buffer, disable them in insert mode or when the
buffer/window is not focused.
2022-07-12 21:00:05 +02:00
b2536d7c2f vim:settings: Set inccommand=split
Show partial off-screen effects of a command in a preview window.
2022-07-12 21:00:05 +02:00
f13acebdb2 vim:keys: Format current paragraph with Q 2022-07-12 21:00:00 +02:00
58daf17e79 vim:keys: Add fugitive version of <leader>gcd
Add a fugitive version of the `<leader>gcd` mapping to jump to the root
of the repo.
2022-07-12 20:59:58 +02:00
9e18f6db16 vim:keys: Make git mappings fugitive independent
Make the git {add,stash,checkout} mappings independent of fugitive.vim.
2022-07-12 20:59:58 +02:00
733481900f vim:keys: Fix commit reference when at EOL
Fix the commit reference mapping `<leader>grc` in the case that nothing
follows the commit hash on the line. In that case the join would add a
trailing space.

`gJ` is not suitable as that would break in the other case that text
follows. When splitting the line behind the commit hash, the space in
front of whatever follows is deleted. Thus when joining everything
together at the end, there would be no space between the closing
parentheses and the rest.

Using the `system()` was the only solution I found to insert the subject
directly behind the hash without destroying the formatting and the text
behind it.

For this to work the trailing newline had to be cut off of git's output.
2022-07-12 20:59:58 +02:00
158dcb4b96 vim:keys: Add mapping to insert commit subject
Insert a commit's subject behind the SHA1 that the cursor is currently
on with `<leader>grc`.

Mnemonic: "git reference commit"
2022-06-23 23:59:02 +02:00
a3ede8f8bc vim: Use gitgutter's foldtext()
Use `gitgutter`'s `foldtext()` to display an indicator if a fold
contains lines that have been changed.
This is necessary as {,neo}vim does not display signs next to folded
lines.
2022-06-23 23:58:52 +02:00
6a538101a2 vim:plugs:tmux-navigator: Disable on zoomed pane
Disable tmux navigator when zooming the Vim pane.
2022-06-23 23:58:47 +02:00
4cf0eedd56 vim,tmux:plugs: Add vim-tmux-navigator
[vim-tmux-navigator][1]:

> Seamless navigation between tmux panes and vim splits

Add the hybrid vim/tmux plugin `vim-tmux-navigator` to switch between
tmux panes and vim splits with `C-[hjkl]`.

Add vim-tmux-navigator as a submodule in tmux/plugins and create a
symlink from vim/pack/plugins/start.

Get rid of similar switching keymappings in the vim and tmux configs.

[1]: https://github.com/christoomey/vim-tmux-navigator
2022-06-23 23:58:46 +02:00
4b421f6b78 vim:funcs: Silence checktime call
The checktime command is not available in the command line window. As
the `CheckTime` function runs every second, the command line window
spits out an error message every second making it practically unusable.

This patch silences the `checktime` call to fix this.
2022-06-23 23:58:43 +02:00
7eb4a29b4d vim:keys: Improve and add new git mappings
- Drop the mapping for `:Gcd` as I rarely use it and prefer to commit
  with one keystroke less.
- Add the current file instead of calling `git add -p` for the whole
  repository. If I want to add hunks I can do that with the gitgutter
  mappings.
- Add mappings to stash and checkout the current file.
- Use mnemonic 'add' instead of 'stage' for `GitGutterStageHunk`
  mappings.

TODO: Extend gitgutter for a `GitGutterStashHunk` function
2022-06-23 23:56:52 +02:00
bc72d3507c vim: Set nofixendofline
Do not automatically restore missing <EOL> at EOF when writing.
This is rarely a change worth committing and I'd rather prefer vim to
not touch stuff I did not actively modify myself.
2022-06-23 23:56:52 +02:00
2def35d0e7 vim:keys: Add gm to open a manpage
Open the manpage in the WORD under the cursor.
2022-06-23 23:56:52 +02:00
8008cb1a63 vim:plugs: Fix nodejs executable check 2022-03-30 14:58:23 +02:00
55cfb89a8d vim:keys: Add mapping for "+Y 2022-03-30 14:55:39 +02:00
ef438aeac1 vim:keys: Bind clipboard mappings to all modes
Also bind the system clipboard mappings to visual, etc.
2022-03-30 14:54:32 +02:00
10da37b676 vim:keys: Make call to NewSpellLang silent 2022-03-30 14:47:09 +02:00
241f315eec vim:keys: Add more git mappings 2022-03-30 14:36:40 +02:00
99e6ac7002 vim:sets: Recognize numbered lists when formatting
Add `n` to `formatoptions` to recognize numbered lists when formatting.
2022-03-30 13:59:10 +02:00
87c804f2e1 zsh:keys: Add TODO about :keepjumps
The bindings that correct the previous or next misspelled word should
not modify the jumplist but `:keepjumps` disallows <C-O>.
2022-03-30 03:01:31 +02:00
efe4b7a1d8 vim:plugs: Check for nodejs executable for Coc 2022-03-30 03:00:27 +02:00
291af2fdb0 vim:keys: Hotfix loaded_gutentags
`loaded_gutentags` has stopped working, leading to `:Tags` not being
binded.
2022-03-29 16:56:45 +02:00
4c7b054336 vim:keys: Correct the next/last misspelled word 2022-03-29 16:48:08 +02:00
fc0969abba vim: Drop textwidth autocmd for native way
Instead of needing a manual autocmd that triggers on textwidth changes,
colorcolumn supports offsets to textwidth natively.
2022-03-22 16:18:58 +01:00
94271371dc vim:autocmd: Fix typo in OptionSet textwidth
The old `textwidth` value is meant to be subtracted from colorcolumn, to
then add the new one.

Fixes: 41656d28d6 ("vim:autocmd: Reset textwidth value in colorcolumn")
2022-03-21 15:24:31 +01:00
41656d28d6 vim:autocmd: Reset textwidth value in colorcolumn
Instead of overwriting the entire colorcolumn value, reset only the
textwidth value, by subtracting it first and then readding it.
2022-03-18 17:33:56 +01:00
a4760b7518 vim:plugins: Source optional plugins directly
When adding the `!` only the paths are added to the `runtimepath` and
nothing is sourced (yet). As `keys.vim` for example checks if gutentags
is loaded before creating a binding to :Tags this has to change and the
plugins need to be sourced directly.
2022-03-03 01:19:14 +01:00
0369218114 vim:settings: Include - in &iskeyword 2022-02-24 17:39:48 +01:00
fafc7e1bef vim: Deactivate cursorline
With the highlighting of the word under the cursor this kind of gets in
the way as both are using the same color to highlight.
2022-02-17 15:22:32 +01:00
9796992737 vim:autocmd: Highlight word under cursor 2022-02-17 15:21:51 +01:00
f994d8bf69 vim:keys: Use <Esc> to set nohlsearch
Use <Esc> to set `nohlsearch` instead of <CR>.
<Esc> has no purpose in normal mode and has the benefit, that the cursor
is not moved.
2022-02-16 00:55:03 +01:00
a98457e66b vim:autocmd: Adjust colorcolumn with &textwidth 2022-02-16 00:54:19 +01:00
2cd147cc32 vim: Set colorcolumn to textwidth
Set &colorcolumn to &textwidth instead of hardcoding it to the same
value.
2022-02-12 13:11:44 +01:00
5155cbbed1 vim:keys: Bind <leader><Esc> to exit terminal
Bind `<leader><Esc>` to exit terminal-mode.
2022-01-21 19:13:24 +01:00
c2e21d23c0 vim:plugins: Only add gutentags with ctags
Only add gutentags with `ctags` as valid executable. Otherwise vim will
complain.
2022-01-21 16:42:25 +01:00
8ffd4df1fa vim:keys: Add insert mappings for better undo
The bigger `inoremap <expr> ...` binding is taken from the help page
`:help i_ctrl-g_u`.
2022-01-20 16:05:47 +01:00
dcea7c9531 vim:keys: Add git bindings for add and commit
Also add `g` as prefix to the already existing `:Gcd` binding.
2022-01-20 15:59:45 +01:00
a42155a64b vim:keys: Improve bindings to move lines
The old bindings had problems when trying to move further than BOF, EOF.
2021-09-30 10:38:58 +02:00
39de8e4094 vim:keys: Fix & command to also use last flags 2021-09-16 04:41:18 +02:00
985ff8cd26 vim:keys: Use *, # for visual selection search 2021-09-09 05:23:43 +02:00
03ae2655a8 vim: Rename keybindings.vim to keys.vim 2021-07-22 16:01:09 +02:00
4364625bf5 vim:keys: Add binds to move lines and reindent 2021-07-22 15:59:16 +02:00
b89c170192 vim:keys: Disable indentation jump maps for now
As they clash and are overwritten by the split navigation maps just
below.
2021-07-16 00:53:16 +02:00
b7fb36061b vim:keys: Add Y that acts like C & D 2021-07-16 00:51:26 +02:00
dc27577109 vim:keys: Only need one / for search in visual 2021-07-16 00:50:15 +02:00
a26abe821f vim:keys: Add <leader>/ for :Lines 2021-07-16 00:37:52 +02:00
8c66e1cf68 vim:autocmd: Add bindings when sourcing termdebug 2021-07-13 16:54:55 +02:00
8c37dc2316 vim:vimrc.d:*: Use " instead of # in header lines 2021-07-13 16:52:42 +02:00
ca219a3a1d vim:keybindings: Add <leader>cd - cd to git root 2021-05-22 19:13:36 +02:00