Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- other interesting text objects
- -- reference: https://www.reddit.com/r/vim/comments/adsqnx/comment/edjw792
- -- TODO: detect if we are over the first char and jump to the right
- local chars = { "_", "-", ".", ":", ",", ";", "<bar>", "/", "<bslash>", "*", "+", "%", "#", "`" }
- for k, v in ipairs(chars) do
- map("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
- -- charactere under the cursor
- --local char = vim.fn.strcharpart(vim.fn.strpart(vim.fn.getline("."), vim.fn.col(".") - 1), 0, 1)
- --print(char)
- for k, v in ipairs(chars) do
- map("o", "an" .. v, ":norm! f" .. v .. "vf" .. v .. "<CR>")
- map("o", "in" .. v, ":norm! f" .. v .. "lvt" .. v .. "<CR>")
- map("o", "al" .. v, ":norm! F" .. v .. "vF" .. v .. "<CR>")
- map("o", "il" .. v, ":norm! F" .. v .. "hvT" .. v .. "<CR>")
- map("x", "an" .. v, ":<c-u>norm! f" .. v .. "vf" .. v .. "<CR>")
- map("x", "in" .. v, ":<c-u>norm! f" .. v .. "lvt" .. v .. "<CR>")
- map("x", "al" .. v, ":<c-u>norm! F" .. v .. "vF" .. v .. "<CR>")
- map("x", "il" .. v, ":<c-u>norm! F" .. v .. "hvT" .. v .. "<CR>")
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement