<commit_before>" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"   DESCRIPTION: Keymap settings for Vim
"        AUTHOR: <NAME> <<EMAIL>>
" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

" Ctrl + [h, j, k, l] - to navigate through split windows
" -------------------------------------------------------
nnoremap <silent> <C-k> :wincmd k<CR>
nnoremap <silent> <C-j> :wincmd j<CR>
nnoremap <silent> <C-h> :wincmd h<CR>
nnoremap <silent> <C-l> :wincmd l<CR>



" [F3] — call file explorer
" -------------------------
nnoremap <silent> <F3>   :NERDTreeToggle<CR>


" NOTE: F4 maped for switching header/source in c++


" [F5] — recursively search Makefile and run last one
" ---------------------------------------------------
nmap <silent> <F5>  :Compile<CR>


" [Ctrl + F6] — turn on/off spellchecker
" [F6] — fix grammar mistake
" --------------------------------------
nnoremap <silent> <C-F6> :Spell<CR>
inoremap <F6> z=<CR>i
nnoremap <F6> z=<CR>


" [F8] — show/hide tagbar (class tree, for instance)
" --------------------------------------------------
nnoremap <silent> <F8> :TagbarToggle<CR>


" [F9] — turn on/off hex mode
" ---------------------------
"nnoremap <silent> <F9>  :Hexmode<CR>


" [F11] — show/hide quickfix list
" -------------------------------
nnoremap <silent> <F11>  :QFix<CR>


nnoremap <F9> :echo "hi<" . synIDattr(synID(line("."),col("."),1),"name") . '> trans<'
\ . synIDattr(synID(line("."),col("."),0),"name") . "> lo<"
\ . synIDattr(synIDtrans(synID(line("."),col("."),1)),"name") . ">"<CR>


" [Ctrl + T] — new tab
" [Ctrl +  W] — close tab
"
" ATTENTION: the lines below could remap hotkeys from the another plugins
" -----------------------------------------------------------------------
nmap <silent><C-t> :tabnew<CR>
nmap <silent><C-w> :tabclose<CR>


" [Ctrl + Space] — use autocomplete
" ---------------------------------
if has("gui_running")
    imap <silent> <buffer> <C-Space>  <C-X><C-O>
else
    imap <silent> <buffer> <C-@>  <C-X><C-O>
endif<commit_msg>vim: change keybindings to be more useful in macos<commit_after>" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"   DESCRIPTION: Keymap settings for Vim
"        AUTHOR: <NAME> <<EMAIL>>
" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

" navigate through windows
" ------------------------
nnoremap <silent> <C-k> :wincmd k<CR>
nnoremap <silent> <C-j> :wincmd j<CR>
nnoremap <silent> <C-h> :wincmd h<CR>
nnoremap <silent> <C-l> :wincmd l<CR>


" call file explorer
nnoremap <leader>1  :NERDTreeToggle<CR>

" show/hide tagbar (class tree, for instance)
nnoremap <leader>2  :TagbarToggle<CR>

" show/hide quickfix lis
nnoremap <leader>3  :QFix<CR>

" recursively search Makefile and run last one
nnoremap <leader>5  :Compile<CR>

" turn on/off spellchecker
nnoremap <leader>4 :Spell<CR>
"nnoremap <C> z=<CR>

" tab manipulations
nmap <silent><C-t> :tabnew<CR>
nmap <silent><C-w> :tabclose<CR>

" use autocomplete
if has("gui_running")
    imap <silent> <buffer> <C-Space>  <C-X><C-O>
else
    imap <silent> <buffer> <C-@>  <C-X><C-O>
endif
{'fraction_non_alphanumeric': 0.36777251184834125, 'fraction_numerical': 0.008530805687203791, 'mean_word_length': 2.5977272727272727, 'pattern_counts': {'":': 0, '<': 104, '<?xml version=': 0, '>': 104, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4532529', 'n_tokens_mistral': 1158, 'n_tokens_neox': 1108, 'n_words': 280}