Commit Graph

76 Commits

Author SHA1 Message Date
83d991cb53 vim:keys: Map <leader>gg to `:G 2022-07-14 14:24:59 +02:00
46565c2d6b vim:keys: Nvim does not replace has('clipboard')
Neovim does not make `has('clipboard')` obsolete. It only simplifies
clipboard support but `has('clipboard')` will still return `0` if no
supported clipboard program is installed.

See `:help clipboard`

    Nvim has no direct connection to the system clipboard. Instead it
    depends on a |provider| which transparently uses shell commands to
    communicate with the system clipboard or any other clipboard
    "backend".

and `:help clipboard-tool`

    The presence of a working clipboard tool implicitly enables the '+'
    and '*' registers. Nvim looks for these clipboard tools, in order of
    priority:

      - |g:clipboard|
      - pbcopy, pbpaste (macOS)
      - wl-copy, wl-paste (if $WAYLAND_DISPLAY is set)
      - xclip (if $DISPLAY is set)
      - xsel (if $DISPLAY is set)
      - lemonade (for SSH) https://github.com/pocke/lemonade
      - doitclient (for SSH)
        http://www.chiark.greenend.org.uk/~sgtatham/doit/
      - win32yank (Windows)
      - termux (via termux-clipboard-set, termux-clipboard-set)
      - tmux (if $TMUX is set)
2022-07-12 21:00:11 +02:00
c906c5ffb6 vim:keys: Add <leader>h mapped to :Helptags 2022-07-12 21:00:07 +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
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
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
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
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
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
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
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
5155cbbed1 vim:keys: Bind <leader><Esc> to exit terminal
Bind `<leader><Esc>` to exit terminal-mode.
2022-01-21 19:13:24 +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