Aqui seguem algumas sugestões de um velho vimmer que agora só usa neovim:
Uma função na qual as opções de mapeamento tem um default, caso omitidas:
-- map helperlocalfunctionmap(mode,lhs,rhs,opts)localoptions={noremap=true}ifoptsthenoptions=vim.tbl_extend("force",options,opts)endvim.api.nvim_set_keymap(mode,lhs,rhs,options)end-- other interesting text objects-- reference: https://www.reddit.com/r/vim/comments/adsqnx/comment/edjw792localchars={"_","-",".",":",",",";","<bar>","/","<bslash>","*","+","%","#","`"}fork,vinipairs(chars)domap("x","i"..v,":<C-u>norm! T"..v.."vt"..v.."<CR>")map("x","a"..v,":<C-u>norm! F"..v.."vf"..v.."<CR>")map("o","a"..v,":normal! va"..v.."<CR>")map("o","i"..v,":normal! vi"..v.."<CR>")end-- por precaução altero o timeoutlen, que é o tempo de espera para que o nvim aplique um mapeamento:opt.timeoutlen=500
-- com esse mapeamento mantenho a função original do Ctrl-l e de quebra o higlight search é boleanomap("n","<C-l>",[[ (&hls && v:hlsearch ? ':nohls' : ':set hls')."\n" <BAR> redraw<CR>]],{silent=true,expr=true})
Aqui altero o undo break, de modo que cada vez que insiro um ponto, vírgula, exclamação etc o vim adiciona um undo break, assim se eu digitar algo do tipo: "Estou demonstrando a versatilidade do vim, e de quebra ajudando outras pessoas", se eu pressionar a tecla "u" em modo normal o desfazer só vai até a vírgula.
-- More molecular undo of text-- map("i", ",", ",<c-g>u")map("i",".",".<c-g>u")map("i","!","!<c-g>u")map("i","?","?<c-g>u")map("i",";",";<c-g>u")map("i",":",":<c-g>u")map("i","]","]<c-g>u")map("i","}","}<c-g>u")
Henrique: Atualizei a função para mapeamentos trocando vim.api.nvim_set_keymap por vim.keymap.set e removi alguns undo breaks porque tava muito exagerado.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Aqui seguem algumas sugestões de um velho vimmer que agora só usa neovim:
Uma função na qual as opções de mapeamento tem um default, caso omitidas:
Aqui altero o undo break, de modo que cada vez que insiro um ponto, vírgula, exclamação etc o vim adiciona um undo break, assim se eu digitar algo do tipo: "Estou demonstrando a versatilidade do vim, e de quebra ajudando outras pessoas", se eu pressionar a tecla "u" em modo normal o desfazer só vai até a vírgula.
Perfeito, certamente vou adicionar.
Muito obrigado por comentar!
Henrique: Atualizei a função para mapeamentos trocando
vim.api.nvim_set_keymap
porvim.keymap.set
e removi alguns undo breaks porque tava muito exagerado.