Mercurial > vim
view src/proto/syntax.pro @ 34219:a0a4a774117b v9.1.0058
patch 9.1.0058: Cannot map Super Keys in GTK UI
Commit: https://github.com/vim/vim/commit/92e90a1e102825aa9149262cacfc991264db05df
Author: Casey Tucker <dctucker@hotmail.com>
Date: Thu Jan 25 22:44:00 2024 +0100
patch 9.1.0058: Cannot map Super Keys in GTK UI
Problem: Cannot map Super Keys in GTK UI
(Casey Tucker)
Solution: Enable Super Key mappings in GTK using <D-Key>
(Casey Tucker)
As a developer who works in both Mac and Linux using the same keyboard,
it can be frustrating having to remember different key combinations or
having to rely on system utilities to remap keys.
This change allows `<D-z>` `<D-x>` `<D-c>` `<D-v>` etc. to be recognized
by the `map` commands, along with the `<D-S-...>` shifted variants.
```vimrc
if has('gui_gtk')
nnoremap <D-z> u
nnoremap <D-S-Z> <C-r>
vnoremap <D-x> "+d
vnoremap <D-c> "+y
cnoremap <D-v> <C-R>+
inoremap <D-v> <C-o>"+gP
nnoremap <D-v> "+P
vnoremap <D-v> "-d"+P
nnoremap <D-s> :w<CR>
inoremap <D-s> <C-o>:w<CR>
nnoremap <D-w> :q<CR>
nnoremap <D-q> :qa<CR>
nnoremap <D-t> :tabe<CR>
nnoremap <D-S-T> :vs#<CR><C-w>T
nnoremap <D-a> ggVG
vnoremap <D-a> <ESC>ggVG
inoremap <D-a> <ESC>ggVG
nnoremap <D-f> /
nnoremap <D-g> n
nnoremap <D-S-G> N
vnoremap <D-x> "+x
endif
```
closes: #12698
Signed-off-by: Casey Tucker <dctucker@hotmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 25 Jan 2024 23:00:03 +0100 |
parents | fbeebe308514 |
children |
line wrap: on
line source
/* syntax.c */ void syntax_start(win_T *wp, linenr_T lnum); void syn_stack_free_all(synblock_T *block); void syn_stack_apply_changes(buf_T *buf); void syntax_end_parsing(win_T *wp, linenr_T lnum); int syntax_check_changed(linenr_T lnum); int get_syntax_attr(colnr_T col, int *can_spell, int keep_state); void syntax_clear(synblock_T *block); void reset_synblock(win_T *wp); void ex_syntax(exarg_T *eap); void ex_ownsyntax(exarg_T *eap); int syntax_present(win_T *win); void reset_expand_highlight(void); void set_context_in_echohl_cmd(expand_T *xp, char_u *arg); void set_context_in_syntax_cmd(expand_T *xp, char_u *arg); char_u *get_syntax_name(expand_T *xp, int idx); int syn_get_id(win_T *wp, long lnum, colnr_T col, int trans, int *spellp, int keep_state); int get_syntax_info(int *seqnrp); int syn_get_sub_char(void); int syn_get_stack_item(int i); int syn_get_foldlevel(win_T *wp, long lnum); void ex_syntime(exarg_T *eap); char_u *get_syntime_arg(expand_T *xp, int idx); /* vim: set ft=c : */