[gnome-builder] vim: add vi( vi) vib vi{ vi} viB vi[ vi] vi< vi>



commit 54ca9b6553330306946eb6d62cd3f4a62654c0d1
Author: Sebastien Lafargue <slafargue gnome org>
Date:   Fri Oct 23 15:15:54 2015 +0200

    vim: add vi( vi) vib vi{ vi} viB vi[ vi] vi< vi>
    
            Work like in vim and with count too

 data/keybindings/vim.css |   58 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 58 insertions(+), 0 deletions(-)
---
diff --git a/data/keybindings/vim.css b/data/keybindings/vim.css
index 1c09921..df0cf90 100644
--- a/data/keybindings/vim.css
+++ b/data/keybindings/vim.css
@@ -1519,6 +1519,8 @@
 
 @binding-set builder-vim-source-view-visual
 {
+  bind "i" { "set-mode" ("vim-visual-i", transient) };
+
   bind "colon" { "action" ("win", "show-command-bar", "") };
 
   bind "percent" { "move-to-matching-bracket" (1) };
@@ -1692,6 +1694,53 @@
                     "set-mode" ("vim-normal", permanent) };
 }
 
+ binding-set builder-vim-source-view-visual-i
+{
+  /* vi( , vi) , vib */
+  bind "parenleft" { "begin-macro" ()
+                     "select-inner" ("(", ")", 1)
+                     "set-mode" ("vim-visual", permanent) };
+
+  bind "parenright" { "begin-macro" ()
+                      "select-inner" ("(", ")", 1)
+                      "set-mode" ("vim-visual", permanent) };
+
+  bind "b" { "begin-macro" ()
+             "select-inner" ("(", ")", 1)
+             "set-mode" ("vim-visual", permanent) };
+
+  /* vi[ and vi] */
+  bind "bracketleft" { "begin-macro" ()
+                       "select-inner" ("[", "]", 1)
+                       "set-mode" ("vim-visual", permanent) };
+
+  bind "bracketright" { "begin-macro" ()
+                        "select-inner" ("[", "]", 1)
+                        "set-mode" ("vim-visual", permanent) };
+
+  /* vi{ , vi} , viB */
+  bind "braceleft" { "begin-macro" ()
+                     "select-inner" ("{", "}", 1)
+                     "set-mode" ("vim-visual", permanent) };
+
+  bind "braceright" { "begin-macro" ()
+                      "select-inner" ("{", "}", 1)
+                      "set-mode" ("vim-visual", permanent) };
+
+  bind "<shift>b" { "begin-macro" ()
+                    "select-inner" ("{", "}", 1)
+                    "set-mode" ("vim-visual", permanent) };
+
+  /* vi< and vi> */
+    bind "less" { "begin-macro" ()
+                  "select-inner" ("<", ">", 1)
+                  "set-mode" ("vim-visual", permanent) };
+
+    bind "greater" { "begin-macro" ()
+                     "select-inner" ("<", ">", 1)
+                     "set-mode" ("vim-visual", permanent) };
+}
+
 @binding-set builder-vim-source-view-visual-line-with-count
 {
   bind "0" { "append-to-count" (0)
@@ -2054,6 +2103,15 @@ IdeSourceViewMode.vim-visual {
                     builder-vim-source-view-visual;
 }
 
+IdeSourceViewMode.vim-visual-i {
+  -IdeSourceViewMode-suppress-unbound: true;
+  -IdeSourceViewMode-block-cursor: true;
+  -IdeSourceViewMode-display-name: "Visual";
+
+  gtk-key-bindings: builder-vim-source-view,
+                    builder-vim-source-view-visual-i;
+}
+
 IdeSourceViewMode.vim-visual-with-count {
   -IdeSourceViewMode-suppress-unbound: true;
   -IdeSourceViewMode-block-cursor: true;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]