aboutsummaryrefslogtreecommitdiff
path: root/nvim/.config/nvim/plugin/textobjs.vim
diff options
context:
space:
mode:
Diffstat (limited to 'nvim/.config/nvim/plugin/textobjs.vim')
-rw-r--r--nvim/.config/nvim/plugin/textobjs.vim27
1 files changed, 27 insertions, 0 deletions
diff --git a/nvim/.config/nvim/plugin/textobjs.vim b/nvim/.config/nvim/plugin/textobjs.vim
new file mode 100644
index 0000000..16f9a46
--- /dev/null
+++ b/nvim/.config/nvim/plugin/textobjs.vim
@@ -0,0 +1,27 @@
1" line text-objects
2xnoremap il g_o^
3onoremap il :normal vil<CR>
4xnoremap al $o0
5onoremap al :normal val<CR>
6
7" buffer text-objects
8" -------------------
9" i% a%
10xnoremap i% :<C-u>let z = @/\|1;/^./kz<CR>G??<CR>:let @/ = z<CR>V'z
11onoremap i% :normal vi%<CR>
12xnoremap a% GoggV
13onoremap a% :normal va%<CR>
14
15" comment text-objects
16" --------------------
17" i? a?
18xnoremap <buffer> i? ?/\*<CR>o/\*\/<CR>
19onoremap <buffer> i? :normal vi?<CR>
20
21" square brackets text-objects
22" ----------------------------
23" ir ar
24xnoremap ir i[
25xnoremap ar a[
26onoremap ir :normal vi[<CR>
27onoremap ar :normal va[<CR>