diff --git a/modules/prelude-core.el b/modules/prelude-core.el
index 883632b..97b1c6f 100644
--- a/modules/prelude-core.el
+++ b/modules/prelude-core.el
@@ -60,7 +60,9 @@ file of a buffer in an external program."
   (interactive)
   (when buffer-file-name
     (shell-command (concat
-                    (read-shell-command "Open current file with: ")
+                    (if (eq system-type 'darwin)
+                        "open"
+                      (read-shell-command "Open current file with: "))
                     " "
                     buffer-file-name))))
 
diff --git a/modules/prelude-global-keybindings.el b/modules/prelude-global-keybindings.el
index 2cf2a07..be307d4 100644
--- a/modules/prelude-global-keybindings.el
+++ b/modules/prelude-global-keybindings.el
@@ -141,6 +141,9 @@
   ;; search with google
   (global-set-key (kbd "C-c g") 'prelude-google)
 
+  ;; open in external application
+  (global-set-key (kbd "C-c o") 'prelude-open-with)
+
   ;; toggle menu-bar visibility
   (global-set-key (kbd "<f12>") 'menu-bar-mode))