diff --git a/README.md b/README.md index a500a38..ca6947e 100644 --- a/README.md +++ b/README.md @@ -218,6 +218,7 @@ Keybinding | Description -------------------|------------------------------------------------------------ C-c o | Open the currently visited file with an external program. C-c g | Search in Google for the thing under point (or an interactive query). +C-c y | Search in YouTube for the thing under point (or an interactive query). C-S-RET or M-o | Insert an empty line above the current line and indent it properly S-RET or M-O | Insert an empty line and indent it properly (as in most IDEs). C-S-up | Move the current line up. diff --git a/core/prelude-core.el b/core/prelude-core.el index 0ab8b85..32fb125 100644 --- a/core/prelude-core.el +++ b/core/prelude-core.el @@ -71,6 +71,16 @@ With a prefix ARG always prompt for command to use." (buffer-substring (region-beginning) (region-end)) (read-string "Google: ")))))) +(defun prelude-youtube () + "Search YouTube with a query or region if any." + (interactive) + (browse-url + (concat + "http://www.youtube.com/results?search_query=" + (url-hexify-string (if mark-active + (buffer-substring (region-beginning) (region-end)) + (read-string "Search YouTube: ")))))) + (defun prelude-indent-rigidly-and-copy-to-clipboard (begin end arg) "Indent region between BEGIN and END by ARG columns and copy to clipboard." (interactive "r\nP") diff --git a/core/prelude-mode.el b/core/prelude-mode.el index cb3343d..6275f93 100644 --- a/core/prelude-mode.el +++ b/core/prelude-mode.el @@ -37,6 +37,7 @@ (let ((map (make-sparse-keymap))) (define-key map (kbd "C-c o") 'prelude-open-with) (define-key map (kbd "C-c g") 'prelude-google) + (define-key map (kbd "C-c y") 'prelude-youtube) ;; mimic popular IDEs binding, note that it doesn't work in a terminal session (define-key map [(shift return)] 'prelude-smart-open-line) (define-key map (kbd "M-o") 'prelude-smart-open-line)