• Stars
    star
    201
  • Rank 187,641 (Top 4 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 8 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A browser extension which adds Vim-style shortcuts to Google Sheets

SheetKeys - The Hacker's Spreadsheet

SheetKeys is a browser extension which adds powerful keyboard shortcuts to Google Sheets, in the spirit of the Vim text editor. It's written by one of the authors of Vimium.

Watch the demo video here.

If you are a project manager, programmer, finance person, or just someone who uses spreadsheets a lot, this can greatly increase your efficiency in Google Sheets.

(If you are using SheetKeys with Vimium, disable Vimium on Google Sheets so its key mappings don't collide with SheetKeys. To do so, click on the Vimium icon in Chrome's toolbar, enter https?://docs.google.com/spreadsheets/* for the excluded sites Pattern, and click Save.)

How to install

Install on the Chrome web store.

To install from source, see here.

Keyboard Mappings

SheetKeys adds many key mappings to Google Sheets. After installing, you can see and customize all of them by typing ? while on a Google Sheets page.

Here is a partial list:

Movement

j      Move cursor down
k      Move cursor up
h      Move cursor left
l      Move cursor right

C-J    Move rows down
C-K    Move rows up
C-H    Move columns left
C-L    Move columns right

C-d    Scroll half page down
C-u    Scroll half page up
g,g    Scroll to the top of the sheet
G      Scroll to the bottom of the sheet

Selection

v      Begin selecting cells
V      Begin selecting rows
A-v    Begin selecting columns

Editing

i      Edit cell
a      Append to cell (edit but, starting at the end)
u      Undo
C-r    Redo

o      Insert a row below the cursor and edit it
O      Insert a row above the cursor and edit it
s      Insert a row below the cursor
S      Insert a row above the cursor

d,d    Delete the current row (or selected rows/columns)
x      Delete cell contents
y,y    Copy the current row (or selected rows/columns)
y,c    Copy cells
p      Paste

;,m,a  Merge selected cells
;,m,h  Merge selected cells horizontally
;,m,v  Merge selected cells vertically

Formatting

;,a,l  Align left
;,a,c  Align center
;,a,r  Align right

;,w,w  Wrap cell
;,w,w  Overflow the cell
;,w,c  Clip the cell


;,f,s  Set font size to small
;,f,n  Set font size to normal
;,f,l  Set font size to large

;,f,r  Freeze row
;,f,c  Freeze column

Other

?      Show the help dialog
;,w,f  Toggle full screen
;o     Open URL in cell in a new tab

Other usability improvements to Google Sheets

  • In Google Sheets, when editing a cell, typing ESC erases all of the changes you've made, and your changes can't be brought back with "Undo". This can be infuriating when done accidentally. SheetKeys fixes this. Now ESC will save your changes to the cell, and you can revert them if needed by using Undo.
  • Ctrl-e on Mac OS X is a handy system-wide shortcut which moves the cursor to the end of the form field you're currently editing. This essential shortcut doesn't work in Google Sheets. With SheetKeys, it does.
  • Sheets has a useful full screen mode (View > Full screen) which allows many more rows of the spreadsheet to be visible on screen. But it has two inconveniences: there is no keyboard shortcut for toggling it, and there's a persistent popup whenever one enters full screen mode. SheetKeys adds a shortcut for it, and auto-dismisses the popup for you.

Developer workflow

  • You can use the Extension Reloader which provides a quick shortcut for reloading all of your locally-developed extensions. See here for further info.
  • Refresh your Google Sheets page after reloading the SheetKeys extension in Chrome.

License

Copyright (c) Phil Crosby. See MIT-LICENSE.txt for details.

More Repositories

1

vimium

The hacker's browser.
JavaScript
22,021
star
2

textmatevim

The beauty of TextMate meets the power of Vim.
Ruby
172
star
3

shoulda.js

Concise JavaScript unit testing.
JavaScript
86
star
4

fuzzycd

Glide across your filesystem with ease.
Ruby
40
star
5

terraform

Set up a cold, inhospitable system using Terraform.
Ruby
23
star
6

emacs-config

My Emacs setup.
Emacs Lisp
18
star
7

InstallPad

Download the latest versions of software and deploy it to Windows with a click.
C#
16
star
8

watchman

A host-your-own HTTP checking and pinging web service, to serve as an alternative to Pingdom.
Clojure
16
star
9

gumshoedb

A high performance in-memory OLAP database.
Go
12
star
10

backtrace_shortener

Friendly Ruby backtraces.
Ruby
8
star
11

clj-maxmind-geoip

A thin wrapper around Maxmind's GeoIP Java API.
Clojure
8
star
12

vim-config

My vim config.
Vim Script
5
star
13

hammerspoon-config

Lua
5
star
14

http_resque

Schedule and test Resque jobs using HTTP requests.
Ruby
4
star
15

omnislice

Ruby
3
star
16

graphics-design.com

The contents of my 1999 website, graphics-design.com
HTML
2
star
17

InkForWord

A 2006 tablet PC addin for Microsoft Word
C#
2
star
18

jjot-static-website

Static version of jjot.com, circa 2008.
JavaScript
2
star
19

philc.github.com

Personal homepage.
HTML
1
star
20

homebrew-omnislice

Ruby
1
star
21

gnomewotdapplet

A circa-2004 Word of the Day applet for the GNOME desktop
C#
1
star
22

salamander

Massively multiplayer snake hackathon project for the 2011 Node Knockout
JavaScript
1
star
23

phoenix-config

My configuration for the Phoenix window manager
JavaScript
1
star
24

crumbtrail.net

A web analytics service side-project circa 2007, similar to Google Analytics
JavaScript
1
star