Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Not sure if I am missing something very obvious here, but it looks like you can't set your own key bindings in gedit. I've looked around on the ubuntu support forums and Googled around, but apart from a very old and down-voted gedit plugin on sourceforge, there is nothing that allow this.

Any help will be appreciated.

share|improve this question

5 Answers 5

up vote 5 down vote accepted

Well if you want to at least set that option so you can customise existing menu entries, run:

gconf-editor

and navigate to /desktop/gnome/interface and check the box for can_change_accels

Other than that...nope, not much you can do. (PS: I like Kate more than Gedit)

share|improve this answer
1  
Thanks for confirming that one can't do custom key-bindings in gedit other than the menu accelerators. That is a complete show stopper for me and I'll replace gedit asap. I don't have enough reputation to up-vote you (yet). –  JannieT Aug 14 '10 at 14:39
    
Luckily, this is not (now) the case; see Pavel's answer. –  Lambart Feb 12 '13 at 1:29

Yes, you can fix these things... if you don't mind using another (any) other text editor to do it.

Note that when you make these changes, gedit must not even be running, because ~/.config/gedit/accels gets overwritten every time you exit gedit! Don't worry--once you change the shortcuts, the file will get rewritten harmlessly with your changes, though the lines may be rearranged.

Redo

To change Ctrl+Shift+Z to Ctrl+Y edit ~/.config/gedit/accels (see note below), and put this line in it:

(gtk_accel_path "<Actions>/GeditWindowActions/EditRedo" "<Primary>y")

Tab Navigation

To override tab navigation to use Ctrl+PgUp and Ctrl+PgDown, add these lines to ~/.config/gedit/accels (see note below):

(gtk_accel_path "<Actions>/GeditWindowActions/DocumentsPreviousDocument" "<Control>Page_Up")
(gtk_accel_path "<Actions>/GeditWindowActions/DocumentsNextDocument" "<Control>Page_Down")

Then put this in ~/.config/gtk-3.0/gtk.css (to allow you override default gnome shortcuts):

@binding-set unbind-ctrl-page-up-dn {
        unbind "<ctrl>Page_Up";
        unbind "<ctrl>Page_Down";
}
GtkTreeView { gtk-key-bindings: unbind-ctrl-page-up-dn; }
GtkTextView { gtk-key-bindings: unbind-ctrl-page-up-dn; }

Note that you may have to create the gtk-3.0 directory and the gtk.css file yourself.

Restoring the 'Save' command

(see @Robru comment bellow)

  1. Close gedit.
  2. Open terminal - Ctrl+Alt+T
  3. Execute command nano .config/gedit/accels
  4. Find the following line:

    (gtk_accel_path "<Actions>/GeditWindowActions/FileSave" "")
    
  5. Comment the line (add ; at the beginning):

    ; (gtk_accel_path "<Actions>/GeditWindowActions/FileSave" "")
    
  6. Save the file:

    1. Ctrl+X
    2. Y
    3. Enter
  7. Close terminal - Ctrl+D

  8. Start gedit.
  9. ...
  10. Profit. :)

This info was taken from https://live.gnome.org/Gedit/KeyboardShortcuts

share|improve this answer
1  
This is amazing. I accidentally lost the Ctrl+S shortcut by using it in the External Tools plugin, and was left with no way graphical way of restoring the 'save' command... even after restarting gedit! Gedit is written in C, with mostly Python based plugins... why on earth does it have a scheme keybinding file? And what other lisp-y features of it am I not aware of? –  Robru Oct 9 '12 at 7:59

This page's comments contain some info about changing keyboard shortcuts: http://live.gnome.org/Gedit/KeyboardShortcuts

For example, you could install this plugin to edit some of them: http://empty.23inch.de/pmwiki.php/Main/EditShortcuts

share|improve this answer

I wanted to know this a while back as well and eventually came across this:

https://answers.launchpad.net/ubuntu/+source/gedit/+question/37357

Enable 'Editable menu shortcut keys' in System > Preferences > Appearance > Interface.

You can then highlight a menu entry in gedit and change its key binding by pressing the combination you want.

share|improve this answer
    
Thanks! I'm on Ubuntu Lucid and it doesn't have an Interface tab in the Appearance dialog. Also, even if I could make my menu shortcut key editable, it would not be much use, because there are so few commands exposed via the menu. With this method I can't set ctrl-e to delete the current line, for example. –  JannieT Aug 12 '10 at 2:11

On Ubuntu 14.04 and accels file gets overwritten (and if manually changed, has no effect). How in the world am I suppose to change accelerators now.

share|improve this answer
    
Plus, can_change_accels has no effect when setting it in either dconf or gconf. Nasty. –  haelix Nov 14 at 9:34

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.