Lesser-Known gedit Keyboard Shortcuts
Serge Y. Stroobandt
Copyright 2013–2016, licensed under Creative Commons BY-NC-SA
I really like GNOME’s gedit text editor, even though I have become an XFCE desktop user since the advent of the spoon-fed (i.e. nonforked) GNOME 3 debacle. Anyhow, gedit 3 works just fine in XFCE 4.11 regardless of the fact that gedit 3 employs version 3 of the GIMP toolkit (GTK+), whereas XFCE 4.11 still relies on GTK+ version 2.
Its plugins, both “official” and “less official” (LaTeX, collaboration,…) are what make gedit a truly complete editor; yet in a very unobtrusive way. As for eye candy, I can wholeheartedly recommend my own dark, relaxing Olvido colour scheme.
Shortcuts to speed
As a matter of fact, gedit happens to be the editor which I use for writing the Markdown documents that end up being converted to these web pages. I also use gedit for preparing LaTeX and ConTeXt documents.
Once one starts using gedit extensively for writing content, it becomes inevitable to learn a handful of keyboard shortcuts. Doing so will tremendously speed up work. This happens because keyboard typing is essentially a two-hands undertaking; when one hand leaves the keyboard to grab a computer mouse, the other hand will mostly remain idle. Use of the computer mouse seriously disrupts the flow of creative electronic writing.
One might ask: “Why bother writing about gedit keyboard shortcuts? Are those items not documented?” Well, not quite. Here is where things start to get interesting. For sure, GNOME’s gedit wiki will direct you to a page with “official” keyboard shortcuts.
However, there is more to this story. As Craig Russell brilliantly pointed out, gedit uses the
GtkTextView widget to display and edit text. This means there are more keyboard shortcuts at play than those documented in the gedit wiki.
Here is my attempt at compiling an all-encompassing gedit keyboard shortcut list. Some key combinations were never published before. Other combinations were reordered for better comprehension. However, by no means I pretend this list to be complete. For example, there is this specification of
GtkTextIter, which is a component of
GtkTextView providing text manipulation. In it, sentence navigation gets mentioned. Unfortunately, key-bindings for these sentence functions are nowhere to be found… Finally, I did not include published shortcuts that failed to work in gedit 3.8.3, nor shortcuts that are specific to optionally installed plugins, unless otherwise stated.
|Ctrl→||Move the cursor forward by one word.|
|Ctrl←||Move the cursor backwards by one word.|
|CtrlPageUp or Home||Move the cursor to the beginning of the line.|
|CtrlPageDn or End||Move the cursor to the end of the line.|
|Ctrl↑||Move the cursor to the beginning of the previous line.|
|Ctrl↓||Move the cursor to the end of the next line.|
|CtrlI||Move the cursor to a specific line number.|
|CtrlHome||Move the cursor to the beginning of the document.|
|CtrlEnd||Move the cursor to the end of the document.|
|CtrlAltPageUp||Switch to the document/side pane tab to the left.|
|CtrlAltPageDn||Switch to the document/side pane tab to the right.|
|Alt1…9,0*||Jump to the 1st… 10th document tab.|
|AltTab†||Switch to the workspace application to the right.|
|ShiftAltTab†||Switch to the workspace application to the left.|
|CtrlAlt→†||Switch to the workspace to the right.|
|CtrlAlt←†||Switch to the workspace to the left.|
- * Keyboard digits only; does not work with Numpad digits.
- † GTK+ shortcut added for completeness; has no relation to gedit.
|ShiftCtrl→||Select forward by words.|
|ShiftCtrl←||Select backwards by words.|
|ShiftCtrlPageUp||Select to the beginning of the line.|
|ShiftCtrlPageDn||Select to the end of the line.|
|ShiftCtrl↑||Select forward by lines.|
|ShiftCtrl↓||Select backwards by lines.|
|ShiftCtrlHome||Select to the beginning of the document.|
|ShiftCtrlEnd||Select to the end of the document.|
For selecting other custom text that can be specified by a regular expression, use the Click Config plugin. Regular expressions can match many items, but evidently not everything as regex recursion remains unavailable.
|Alt→||Move the selected word forward by one word.|
|Alt←||Move the selected word backwards by one word.|
|Alt↑||Move the selected line up by one line.|
|Alt↓||Move the selected line down by one line.|
|CtrlBkSpce||Delete the word behind the cursor.|
|CtrlDel||Delete the word ahead of the cursor.|
|ShiftCtrlBkSpce||Delete from the cursor to the beginning of the line.|
|ShiftCtrlDel||Delete from the cursor to the end of the line.|
|CtrlD||Delete the current line.|
|CtrlX||Cut the selected text or region and place it on the clipboard.|
|CtrlC||Copy the selected text or region onto the clipboard.|
|CtrlV||Paste the contents of the clipboard.|
|CtrlZ||Undo the last action.|
|ShiftCtrlZ||Redo the last undone action.|
On GNU/Linux machines, special characters can be entered by their UTF code using the key combination ShiftCtrlU. Finish off with Enter or Space. UTF-8 code for some of the most common special characters is listed here.
|CtrlF||Find a string.|
|CtrlG||Find the next instance of the searched string.|
|ShiftCtrlG||Find the previous instance of the searched string.|
|ShiftCtrlK||Clear the search result highlighting.|
|CtrlH||Search and replace.|
|CtrlN||Create a new document.|
|CtrlO||Open a document.|
|CtrlAltO||Quickly open a document.*|
|CtrlS||Save the current document.|
|ShiftCtrlS||Save as a new file.|
|ShiftCtrlL||Save all open documents.|
|CtrlP||Print the current document.|
|CtrlW||Close the current document.|
|ShiftCtrlW||Close all open documents.|
- * Requires the Quick Open plugin.
|F1||Open the gedit user guide.|
|F9||Show/hide the side pane.|
Olvido colour scheme
I use gedit with my own dark colour scheme called Olvido. It is almost indistinguishable from the Oblivion colour scheme, if not for the LaTeX expressions which are handled better. Reminder: “El olvido” is Spanish for “Oblivion”.
Compared to other editors
Gedit 3.10 and its commercial counterpart Sublime Text 3 can be made to act pretty much the same with the aid of plugins or packages. Nonetheless, both applications continue to suffer from a number of annoyances and glaring omissions. After extensively testing both applications in a Markdown content scenario, my personal balance eventually tipped in favour of Vim.
|action||gedit||Sublime Text 3||Vim|
|Comment code||CtrlM||Ctrl/or7 depending on keyboard layout.
Adds an undesired space.
|Uncomment code||ShiftCtrlM||ShiftCtrl/, i.e. not possible on my Swiss keyboard!||
|Select between brackets & parenthesis||No||ShiftCtrlM||
|Select current word||No||CtrlD||
|Select current line||No||CtrlL||
|Move (drag) current line||Alt↑/↓||ShiftCtrl↑/↓||Alt↑/↓
|Delete current line||CtrlD||ShiftCtrlK||
|Duplicate current line||No||ShiftCtrlD||
|Insert at beginning of current line||Begin||Begin||
|Append at end of current line||End||End||
|Move (drag) text||By word with Alt←/→
However, it performs poorly and is therefore hardly useful.
|No, only by character with MoveText and therefore hardly useful!||By word with Alt←/→,
by character with Ctrl←/→
|Spell check of Markdown with suggestions||Yes||No; fails between brackets!||Yes;
|Spell check language persistence by file||Yes||No||No, all configured dictionaries are used simultaneously.|
|Open URL||No||CtrlAlt↵ with Clickable URLs||
|Enter character by UTF code||ShiftCtrlU||No||ShiftCtrlU|
|Word suggestions||As you type.||Tab||Tab with SuperTab|
This work is licensed under a Creative Commons Attribution‑NonCommercial‑ShareAlike 4.0 International License.
Other licensing available on request.
Unless otherwise stated, all originally authored software on this site is licensed under the GNU GPL version 3.