This is my configuration for Talon Voice
This assumes that you're using knausj_talon
I use Emacs with the Vi/m emulation mode Evil.
Most Vim things should work in Vim.
I use Vimium in Chrome, so vimium.org has full support for vimium usage. It should mostly mirror vim usage, and I'll improve that over time.
Most of these commands know if emacs is in insert or normal mode, and acts accordingly. You can say "delete up to fine" while in insert mode and it will jump to normal mode, delete up to "f" and go back into insert.
-
Vim Grammar support (main things are there, including counts, and growing)
- "Visual Around Word" = "vaw"
- Creates a selection around a word.
- "Change To Uppercase Sit" = "ctI"
- Delete text up to the letter "I" and enter insert mode.
- "Wrap On Letter Back Crunch" = "ysFk"
- Wrap from here to, and including, the letter k with...
- "Kill In Tag"" = dit"
- Delete all text in an xml/html tag.
- "Yank 2 Big Word" = "y2W"
- Copy from here to 2 whitespace delimited words forward.
- "Change surround angle left paren" - cs>(
- Change the nearest surrounding <> to () without affecting other text.
- etc...
- Registers - most evil registers supported, uses correct command automatically for insert/normal
- "register black hole change up to ship fine" - "_ctF
- Change from here to the next capital F, do not clobber the kill ring with the killed text.
- "register cap yank around sentence" - "cyas
- Put the "sentence" (could language/mode dependent) into the register c.
- "put register drum" - "dp
- Put the contents of register d.
- "put register file name" - "%p
- Put the current file name.
- "register black hole change up to ship fine" - "_ctF
- "Visual Around Word" = "vaw"
-
Various Vim commands - The things I use are there, but I'll add more over time. See vim.talon.
- "Search selected" - yq/p
- Search for the current visually selected text (using q/ command mode)
- Full Mark support
- "Last change" - `.
- Jump to last change
- "Mark position Drum" - md
- Mark current position in position d
- Marks work with text objects
- "yank to position red" - y`r
- yank all text to position r
- "yank to position red" - y`r
- "Last change" - `.
- "Search selected" - yq/p
-
Moderate Vimium support
-
Very basic Emacs Commands
-
Some Clojure stuff that needs a lot of work.
-
lispyville stuff in progress
Documentation form: "word": "key-press",
"change": "c", "kill": "d", "delete": "d", "yank": "y",
"uppercase": "g U", "lowercase": "g u", "visual": "v", "wrap": "y s", "surround": "y s", "format": "=", "indent": "=", "eval": "go",
"up": "k", "down": "j", "left": "h", "right": "l", "down non blank": "+", "up non blank": "-", "word": "w", "big word": "W", "back": "b", "big back": "B", "end word": "e", "big end word": "E", "end back": "ge", "end back big": "g E", "sentence": "(", "sentence back": ")", "paragraph": "{", "paragraph back": "}", "end of line": "g_", "newline": "$", "start of line": "0", "first non blank": "^", "first word": "^", "beginning of file": "g g", "end of file": "G", "next": "n", "previous": "N", "find next": ";", "find previous": ","
"up to": "t", "on": "f", "up to back": "T", "on back": "F"
Scope for operator _____ object
"around": "a", "in": "i", "surround": "s",
Used as a scope for marks i.e. "Delete to position last change"
"to position": "`", "to line": "'"
"quote": "'", "L square": "[", "left square": "[", "square": "[", "R square": "]", "right square": "]", "paren": ")", "L paren": "(", "left paren": "(", "R paren": ")", "right paren": ")", "brace": "}", "left brace": "{", "R brace": "}", "right brace": "}", "angle": ">", "left angle": "<", "less than": "<", "rangle": ">", "R angle": ">", "right angle": ">", "greater than": ">", "dubquote": '", "double quote": '", "word": "w", "big word": "W", "tag": "t", "block": "b", "big block": "B", "paragraph": "p", "sentence": "s"
Text objects for marks. Letters are also mark targets.
"last change": ".", "last insert": "^", "last exit": """, "last position": "'", "start of yank": "[", "end of yank": "]", "next visual": "<", "previous visual": ">",
"to position": "`", "to line": "'"
"black hole": "_", "clipboard": "+",
"unnamed": """, "small delete": "-", "small kill": "-", "last search": "/", "last inserted": ".", "file name": "%", "other file name": "#", "last command": ":", "clipboard": "+",
See the first article about this or the first video
REAPER setup requires SWS Extensions, and my setup as explored in this series.
words.csv contains a list of words on my website. Just scan all files, remove anything that looks like html, code, etc... throw all the remaining words into a set. Sort that. Print that.
I manually filtered through the words to remove nonsense, then vocabulary.py it into talon.
So this will have a lot of words that probably mean nothing to you, but are meaningful to me.