mirror of
https://github.com/fscotto/infra.git
synced 2026-07-29 16:20:01 +00:00
Fix Vim FZF shortcuts
This commit is contained in:
@@ -89,7 +89,7 @@ nnoremap <silent> <leader>h :set hlsearch!<CR>
|
|||||||
" ----------------------------------------------------------
|
" ----------------------------------------------------------
|
||||||
|
|
||||||
set updatetime=250
|
set updatetime=250
|
||||||
set timeoutlen=400
|
set timeoutlen=800
|
||||||
set ttimeoutlen=10
|
set ttimeoutlen=10
|
||||||
set shortmess+=c
|
set shortmess+=c
|
||||||
|
|
||||||
@@ -217,12 +217,12 @@ function! s:FzfVersionOk() abort
|
|||||||
return 0
|
return 0
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let l:version = matchstr(get(systemlist(l:fzf . " --version"), 0, ""), "^\d\+\.\d\+\.\d\+")
|
let l:version = matchstr(get(systemlist(l:fzf . " --version"), 0, ""), '^\d\+\.\d\+\.\d\+')
|
||||||
if empty(l:version)
|
if empty(l:version)
|
||||||
return 0
|
return 0
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let l:parts = map(split(l:version, "\."), "str2nr(v:val)")
|
let l:parts = map(split(l:version, '\.'), 'str2nr(v:val)')
|
||||||
return l:parts[0] > s:fzf_min_version[0]
|
return l:parts[0] > s:fzf_min_version[0]
|
||||||
\ || (l:parts[0] == s:fzf_min_version[0] && l:parts[1] > s:fzf_min_version[1])
|
\ || (l:parts[0] == s:fzf_min_version[0] && l:parts[1] > s:fzf_min_version[1])
|
||||||
\ || (l:parts[0] == s:fzf_min_version[0] && l:parts[1] == s:fzf_min_version[1]
|
\ || (l:parts[0] == s:fzf_min_version[0] && l:parts[1] == s:fzf_min_version[1]
|
||||||
|
|||||||
102
dotfiles/common/.vimrc.shortcuts.md
Normal file
102
dotfiles/common/.vimrc.shortcuts.md
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
# Vim shortcuts
|
||||||
|
|
||||||
|
Configurazione sorgente: `.vimrc`.
|
||||||
|
|
||||||
|
- Leader: `Space`
|
||||||
|
- Local leader: `\\`
|
||||||
|
- Le shortcut sotto sono pensate per normal mode, salvo dove indicato.
|
||||||
|
- `timeoutlen` è impostato a `800 ms`: premi le sequenze con leader senza aspettare troppo.
|
||||||
|
|
||||||
|
## Base
|
||||||
|
|
||||||
|
| Shortcut | Azione |
|
||||||
|
|---|---|
|
||||||
|
| `Space l` | Toggle caratteri invisibili / whitespace |
|
||||||
|
| `Space h` | Toggle evidenziazione ricerca |
|
||||||
|
| `Space w` | Salva file corrente |
|
||||||
|
| `Space q` | Chiudi finestra corrente |
|
||||||
|
| `Space x` | Salva e chiudi |
|
||||||
|
| `Space z` | Toggle fold sotto il cursore |
|
||||||
|
|
||||||
|
## Ricerca
|
||||||
|
|
||||||
|
| Shortcut | Azione |
|
||||||
|
|---|---|
|
||||||
|
| `Space g` | Cerca la parola sotto il cursore nel progetto e apre quickfix |
|
||||||
|
| `Space /` | Avvia `:grep!` manuale |
|
||||||
|
|
||||||
|
## FZF / file / Git
|
||||||
|
|
||||||
|
Queste shortcut usano `fzf.vim` quando disponibile; altrimenti cadono su fallback portabili.
|
||||||
|
|
||||||
|
| Shortcut | Azione |
|
||||||
|
|---|---|
|
||||||
|
| `Space ff` | `:Files`, fallback `:edit .` |
|
||||||
|
| `Space fg` | `:GFiles`, fallback `:edit .` |
|
||||||
|
| `Space fb` | `:Buffers`, fallback `:ls` |
|
||||||
|
| `Space fr` | `:Rg`, fallback `:grep! <cword> .` + quickfix |
|
||||||
|
| `Space gs` | `:Git` con vim-fugitive, fallback buffer con `git status` |
|
||||||
|
|
||||||
|
## Quickfix e location list
|
||||||
|
|
||||||
|
| Shortcut | Azione |
|
||||||
|
|---|---|
|
||||||
|
| `]q` | Prossimo elemento quickfix |
|
||||||
|
| `[q` | Precedente elemento quickfix |
|
||||||
|
| `Space qo` | Apri quickfix |
|
||||||
|
| `Space qc` | Chiudi quickfix |
|
||||||
|
| `]l` | Prossimo elemento location list |
|
||||||
|
| `[l` | Precedente elemento location list |
|
||||||
|
| `Space lo` | Apri location list |
|
||||||
|
| `Space lc` | Chiudi location list |
|
||||||
|
|
||||||
|
## Finestre
|
||||||
|
|
||||||
|
| Shortcut | Azione |
|
||||||
|
|---|---|
|
||||||
|
| `Ctrl h` | Vai alla finestra a sinistra |
|
||||||
|
| `Ctrl j` | Vai alla finestra sotto |
|
||||||
|
| `Ctrl k` | Vai alla finestra sopra |
|
||||||
|
| `Ctrl l` | Vai alla finestra a destra |
|
||||||
|
|
||||||
|
## Diff
|
||||||
|
|
||||||
|
| Shortcut | Azione |
|
||||||
|
|---|---|
|
||||||
|
| `Space df` | Attiva diff su tutte le finestre |
|
||||||
|
| `Space do` | Disattiva diff su tutte le finestre |
|
||||||
|
|
||||||
|
## Tags e preview
|
||||||
|
|
||||||
|
| Shortcut | Azione |
|
||||||
|
|---|---|
|
||||||
|
| `Space t` | Vai al tag della parola sotto il cursore |
|
||||||
|
| `Space pt` | Apri il tag in preview window |
|
||||||
|
| `Space po` | Apri preview window |
|
||||||
|
| `Space pc` | Chiudi preview window |
|
||||||
|
| `K` | Apri la man page della parola sotto il cursore |
|
||||||
|
|
||||||
|
## Cscope
|
||||||
|
|
||||||
|
Disponibili solo se Vim ha supporto `cscope`.
|
||||||
|
|
||||||
|
| Shortcut | Azione |
|
||||||
|
|---|---|
|
||||||
|
| `Space cs` | Cerca simbolo |
|
||||||
|
| `Space cg` | Cerca definizione |
|
||||||
|
| `Space cd` | Cerca funzioni chiamate dal simbolo |
|
||||||
|
| `Space cc` | Cerca chiamanti |
|
||||||
|
| `Space ct` | Cerca testo |
|
||||||
|
| `Space ce` | Cerca egrep |
|
||||||
|
| `Space ci` | Cerca include |
|
||||||
|
|
||||||
|
Nota: `Space cf` è riservato a ClangFormat, quindi non usarlo per cscope file search.
|
||||||
|
|
||||||
|
## Format, build e run
|
||||||
|
|
||||||
|
| Shortcut | Modo | Azione |
|
||||||
|
|---|---|---|
|
||||||
|
| `Space cf` | normal | Esegue `clang-format` sul file |
|
||||||
|
| `Space cf` | visual | Esegue `clang-format` sulla selezione |
|
||||||
|
| `Space m` | normal | Build smart: `ninja`, `cmake --build build`, `make -C <root>` o `make` |
|
||||||
|
| `Space r` | normal | Salva ed esegue il file corrente; supporta C, Python e shell |
|
||||||
Reference in New Issue
Block a user