mirror of
https://github.com/jdhao/nvim-config.git
synced 2025-06-08 14:14:33 +02:00
Make a plugin for leaving insert mode
This commit is contained in:
parent
c3cdad554b
commit
eb0c63c175
@ -145,33 +145,3 @@ function! utils#Get_titlestr() abort
|
|||||||
|
|
||||||
return l:title_str
|
return l:title_str
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! utils#EscapeInsertOrNot() abort
|
|
||||||
" If k is preceded by j, then remove j and go to normal mode.
|
|
||||||
let line_text = getline('.')
|
|
||||||
let cur_ch_idx = utils#CursorCharIdx()
|
|
||||||
let pre_char = utils#CharAtIdx(line_text, cur_ch_idx-1)
|
|
||||||
if pre_char ==# 'j'
|
|
||||||
return "\<BS>\<ESC>"
|
|
||||||
else
|
|
||||||
return 'k'
|
|
||||||
endif
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
function! utils#CharAtIdx(str, idx) abort
|
|
||||||
" Get char at idx from str. Note that this is based on character index
|
|
||||||
" instead of the byte index.
|
|
||||||
return strcharpart(a:str, a:idx, 1)
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
function! utils#CursorCharIdx() abort
|
|
||||||
" See https://vi.stackexchange.com/a/28144/15292
|
|
||||||
" A more concise way to get character index under cursor.
|
|
||||||
let cursor_byte_idx = col('.')
|
|
||||||
if cursor_byte_idx == 1
|
|
||||||
return 0
|
|
||||||
endif
|
|
||||||
|
|
||||||
let pre_cursor_text = getline('.')[:col('.')-2]
|
|
||||||
return strchars(pre_cursor_text)
|
|
||||||
endfunction
|
|
||||||
|
|||||||
@ -8,9 +8,6 @@ xnoremap ; :
|
|||||||
" Quicker way to open command window
|
" Quicker way to open command window
|
||||||
nnoremap q; q:
|
nnoremap q; q:
|
||||||
|
|
||||||
" Quicker <Esc> in insert mode
|
|
||||||
inoremap <expr> k utils#EscapeInsertOrNot()
|
|
||||||
|
|
||||||
" Turn the word under cursor to upper case
|
" Turn the word under cursor to upper case
|
||||||
inoremap <c-u> <Esc>viwUea
|
inoremap <c-u> <Esc>viwUea
|
||||||
|
|
||||||
|
|||||||
@ -162,6 +162,7 @@ Plug 'tpope/vim-repeat'
|
|||||||
|
|
||||||
" Show the content of register in preview window
|
" Show the content of register in preview window
|
||||||
" Plug 'junegunn/vim-peekaboo'
|
" Plug 'junegunn/vim-peekaboo'
|
||||||
|
Plug 'jdhao/better-escape.vim'
|
||||||
"}}
|
"}}
|
||||||
|
|
||||||
"{{ Linting, formating
|
"{{ Linting, formating
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user