Cache Text Cache Text

Set shortcuts to find, fill, and open new tabs more quickly.

Rating: 4.60 (5)
Users: 928
+159 vs 1 day ago
-5,368 vs 1 week ago
Version: (Last updated: 2014-03-28)
Size: 63.55K
Price: Free
Cache Text (currently does not work for Windows, I believe. Sorry about that, will try to fix soon)
Welcome to Cache Text! This is a personal project of mine that originally just consisted of the cache-find feature. The motivation for this feature was that I did not want to have to type the same thing in the search box over and over again; instead, I can just rely on a binding to search what I want. I have expanded this binding feature to fill boxes as well as open new tabs to websites I visit commonly. Other handy things include being able to scroll without touching the mouse. Finally, some original Chrome shortcuts, such as creating new windows/tabs, conflict with this extension's bindings, so they have a new location, mostly in the alt command prompt.

********** To begin using this extension: Press the \ key. You can change this activation key to the one you like in the options. Click on the Off/N/A/S/T/F icon on the URL bar to access that page. **********

There are 6 modes: N, T, S, A, F, altPrompt. They are explained below. In general, you can go back to normal mode by pressing <esc>. For S, A, F, you can also go back by pressing the space bar. You may not switch from one special mode to another, with the exception of Fill mode, where you can switch to Typing mode directly.

When you see a text box, you can enter typing mode directly by clicking on it or focusing on it. You can also set the options for this to go to fill mode automatically.

To see all the features, scroll down below to the documentation. While the search/fill/alt bindings and caching are my ideas, I have adapted the enum and highlighting ideas from other sources to my extension, partly for my convenience (I use the extension too) and partly for my own Javascript practice. Please read the credits section down below for more details.

Due to restrictions in the API, I could not make a copy/paste shortcut. You can use copy/paste in Typing mode, and in any prompt windows.

********** To close this extension: Press the same activation key you used to activate this extension in normal mode **********

Known issues:
- Some websites already implement javascript keyboard listeners. You should avoid using this extension on those pages.
- If you decide halfway not to change the url bar after making changes, the icon does not show. Make the bar blank, change to another tab, and change back to see the icon. 
- You may have trouble scrolling elements that are embedded. I am working on that.
- Please do not change your linkEnumSpace option while your links are enumerated. This is a disaster waiting to happen. (Just refresh.)

This extension does not and will not transfer any information you put in your bindings anywhere -- everything is stored locally. However, please exercise caution when storing usernames or passwords in bindings: other people that use your computer may accidentally access that information through this extension.


*****Opening and Closing this Extension*****
Hit the *activation key* (default is \. You can set this in the options) to open this extension. The extension is on/off on a page-by-page basis (i.e. turning the extension off for one page will not affect the other pages).
In normal mode, hit the *same activation key* to close this extension.
Important: You should consider an activation key that does not overlap with the normal-mode bindings.

*****N: Normal Mode*****
--Entering Modes--
ctrl = enter find mode (for Mac)
pause/break = enter find mode (for Windows/etc.)
alt = enter alt mode
b = enter fill mode manually
f = enter basic find mode (you can type in a term directly into the prompt without any bindings, and then you will be led into find mode with that term. That term will then have a binding of q)
p = enter alt window prompt mode
t = enter typing mode

--Assigning Bindings--
a = assign alternate binding (You can use "." here to refer to the current tab's URL -- no need to type the full URL any more when assigning a binding)
s = assign find/search binding
n = assign fill binding

h = scroll left
j = scroll down
k = scroll up
l = scroll right
1 = scroll to the top
2 = scroll all the way down
3, 4, 5, 6, 7, 8 = imagine the page divided into 7 sections. 1 covers top (0th section); 2 covers the last section; 3, 4, 5, 6, 7, 8 cover the remaining 6 sections.
9 = scroll one screen down
0 = scroll one screen up

e = clear the cache (You will be directed to a prompt asking for further options)
o = print page (You will be directed to an options page)
r = refresh page
u = view the bindings you have stored. There will be a table at the very bottom of the screen (use 2 for fast access). Refresh and the table will disappear.
y = refresh this extension (Do this if lots of new text boxes appear on screen.)

**NOTE: other regular commands not covered by these keys, such as copy, paste, back, undo, redo, bookmark, etc. are still the same as regular Chrome shortcuts in normal mode.

*****T: Typing Mode*****
Enter this mode if you want to type stuff and not activate commands. Press <esc> or <`> to exit out of this.

*****S: Search Mode*****
Remember to assign find bindings in normal mode!!!
Once in find mode, here is the step-by-step process:
1. Type in your shortcut. Highlighting should appear.
2. To go to the next term, type the shortcut again
3. To go to the previous term, type the shortcut's uppercase
4. To find a new term, type in a new shortcut.

Example: 'kiwi' is bound to 'k'.
Enter search mode, then type 'k' to find 'kiwi'. To find the next occurrence of 'kiwi', press 'k' again. To find the previous occurrence of 'kiwi', press 'K'.

- For the term typed in basic find mode, press 'q' for next and 'Q' for prev
- For long shortcuts: press 'p' to go to the prompt. Then, type 'p' for next and 'P' for prev. If you change to a different key, you will have to retype your long shortcut into the prompt again.

Press <esc> or <space> to exit out of search mode.

*****A: Alt Mode*****
Remember to assign alt bindings in normal mode!!!
This mode is specifically designed to deal with changing tabs and windows.
Like search mode, type a shortcut into alt mode to get a new tab that goes directly to your shortcut.

Example: '' is bound to 'g'
Go to alt mode and type 'g'. A new tab with should appear.

--Commands in alt mode--
'l' = (lowercase ell). If you have focused on a link (using TAB), goes to that link in the same tab.

*****altPrompt: Alt window command prompt***
First, access the command prompt by typing 'p' in normal mode. From there, you can type in commands with the following syntax:
e/enum/enumerate = make highlighted labels next to every other link of the page (can be changed in the options). This will be useful for the l/ll commands (This feature was inspired by Vimium -- see credits.)

l[number] = (lowercase ell, different from stand-alone key). Put focus on the number-th link on the page (zero indexed)
ll[number] = (2 lowercase ells). Go to the number-th link on the page (zero indexed)
Example: Go to the 51st link. ll50

t  = tab
    End options(., /, l, r, number). Replace [end] below with any of these.
        . = current tab
        / = last tab
        l = left of current tab
        r = right of current tab
        0 = first tab (numbers are zero-indexed, e.g. start at 0)
        5 = sixth tab (all other numbers work the same way)
        [title] = title of a tab (must match exactly -- hard to do for long titles)
        [end*] denotes that you can only type in a single-digit number and no title name
    URL options([shortcut], `[longshortcut], url). Replace [url] with any of these
        Remember to put the ` before long shortcuts.
    Second key options(d, n, N, g, c)
    d[end] = delete the specified tab
    n[url] = creates a new tab with the specified url (automatically goes to it)
    N[x][end*][url] = creates a new tab w/ change's syntax (e.g. you can create a new tab and not go to it.). For this option, you may choose to replace [url] with l35 (or l + any other number), which will create a new tab of the 35th link in the specified end.
    g[end] = go to the specified tab
    c[x][end*][url] = change the specified tab to the new url. The optional x, inserted after the c, means that you want to go to that tab as well.

Example: Close the 4th tab: td3
Change the 8th tab to and go to it:
Change the 8th tab to the shortcut w/ g and go to it: tcx7g
Change the 8th tab to the long shortcut 'face' and go to it: tcx7`face
Create a new tab with the long shortcut 'face': tn`face

**Note: deleting tabs using the prompt will change you back to normal mode.

w = window
    Second key options(d, n, i)
    d = delete current window
    n[url] = create new window with specified URL
    i[url] = create a new incognito window with specified url

Example: Create a new window that goes to shortcut 'i': wni

***** Options *****
There are currently 4 supported options. Access these options by clicking on the icon.
1. Activation key. If you do not like the default '\' for your activation key, follow the button's directions to change the key. You should see the number change based on the key you press. Remember to save your option!
2. Automatic Fill Mode for text boxes: Choose whether you want text boxes to automatically go into fill mode when you focus in on them/click on them. If not, text boxes will automatically go into typing mode.  The default is at Not Activated.
3. scrollStep: Choose how much you want the keys h, j, k, l to scroll. The default is at 50.
4. linkEnumSpace: Choose how much spacing you want between each link when they are enumerated. The default is at 2 (every other link).

This extension utilizes and forks the jQuery Highlight plugin by Johann Burkard. This is the original copyright notice:
highlight v3
Highlights arbitrary terms.
MIT license.

Johann Burkard
The enum idea in this extension was inspired by Vimium, (, but I made my own implementation (partly for my own Javascript practice). I happened to find this extension only after completing about 75% of my own extension, so some other ideas happened to overlap. Here is the original copyright notice:
Copyright (c) 2010 Phil Crosby, Ilya Sukhar.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

======= COPYRIGHT =======
For all the features in this extension that were not from the previous two credited extensions, and for all the code from this extension:

Copyright (c) 2013 Dickson Tsai under the MIT License 
To view the terms of this license, go to <>, or read the paragraph above.

=======Version Updates========
1.3.5 = Now allows custom activation key in options. Default changed to \. 
1.3 = Major update: made the extension optional for each page (activate by pressing the left arrow key)
1.2.4 = Added a shortcut for assigning current page's URL to a binding
1.2.2 = Minor bug fixes: popups for "not found" should only appear once now.
1.2.1 = Removed the read-only text boxes that were causing people a lot of trouble. Instead, clicking or focusing on text boxes will automatically put you in fill or type mode, depending on the options. Also allows you to see what bindings you have created.
1.1.6 = Made actions more synchronous so there will not be as many popups.
1.1.5 = Many bug fixes, changed enum to make it nicer, demo video.
1.1.0 = altPrompt is now its own mode, accessed through normal mode. Also added a reload button and changed the location of the print button.
1.0.3 = Made it so that you can escape with esc or space/` (depending on your mode)
1.0.2 = Fixed a bug with the enum command in the alt prompt.
Related extensions