diff --git a/resources/assets/js/directives.js b/resources/assets/js/directives.js
index 94e281512..4e1bb0dfd 100644
--- a/resources/assets/js/directives.js
+++ b/resources/assets/js/directives.js
@@ -271,8 +271,6 @@ module.exports = function (ngApp, events) {
                 scope.mdModel = content;
                 scope.mdChange(markdown(content));
 
-                console.log('test');
-
                 element.on('change input', (event) => {
                     content = element.val();
                     $timeout(() => {
@@ -304,6 +302,7 @@ module.exports = function (ngApp, events) {
                 const input = element.find('[markdown-input] textarea').first();
                 const display = element.find('.markdown-display').first();
                 const insertImage = element.find('button[data-action="insertImage"]');
+                const insertEntityLink = element.find('button[data-action="insertEntityLink"]')
 
                 let currentCaretPos = 0;
 
@@ -355,6 +354,13 @@ module.exports = function (ngApp, events) {
                         input[0].selectionEnd = caretPos + ('![](http://'.length);
                         return;
                     }
+
+                    // Insert entity link shortcut
+                    if (event.which === 75 && event.ctrlKey && event.shiftKey) {
+                        showLinkSelector();
+                        return;
+                    }
+
                     // Pass key presses to controller via event
                     scope.$emit('editor-keydown', event);
                 });
@@ -370,6 +376,26 @@ module.exports = function (ngApp, events) {
                     });
                 });
 
+                function showLinkSelector() {
+                    window.showEntityLinkSelector((entity) => {
+                        let selectionStart = currentCaretPos;
+                        let selectionEnd = input[0].selectionEnd;
+                        let textSelected = (selectionEnd !== selectionStart);
+                        let currentContent = input.val();
+
+                        if (textSelected) {
+                            let selectedText = currentContent.substring(selectionStart, selectionEnd);
+                            let linkText = `[${selectedText}](${entity.link})`;
+                            input.val(currentContent.substring(0, selectionStart) + linkText + currentContent.substring(selectionEnd));
+                        } else {
+                            let linkText = ` [${entity.name}](${entity.link}) `;
+                            input.val(currentContent.substring(0, selectionStart) + linkText + currentContent.substring(selectionStart))
+                        }
+                        input.change();
+                    });
+                }
+                insertEntityLink.click(showLinkSelector);
+
             }
         }
     }]);
diff --git a/resources/assets/js/global.js b/resources/assets/js/global.js
index eb2750965..ace0dcdd2 100644
--- a/resources/assets/js/global.js
+++ b/resources/assets/js/global.js
@@ -140,6 +140,11 @@ $(function () {
         $(this).fadeOut(240);
     });
 
+    $('.markdown-display').on('click', 'a', function(event) {
+        event.preventDefault();
+        window.open($(this).attr('href'));
+    });
+
 });
 
 // Page specific items
diff --git a/resources/views/pages/edit.blade.php b/resources/views/pages/edit.blade.php
index ad569a327..58df580a5 100644
--- a/resources/views/pages/edit.blade.php
+++ b/resources/views/pages/edit.blade.php
@@ -19,22 +19,9 @@
 
 
     </div>
+    
     @include('partials/image-manager', ['imageType' => 'gallery', 'uploaded_to' => $page->id])
-
-    <div id="entity-selector-wrap">
-        <div class="overlay" entity-link-selector>
-            <div class="popup-body small flex-child">
-                <div class="popup-header primary-background">
-                    <div class="popup-title">Entity Select</div>
-                    <button type="button" class="corner-button neg button">x</button>
-                </div>
-                @include('partials/entity-selector', ['name' => 'entity-selector'])
-                <div class="popup-footer">
-                    <button type="button" disabled="true" class="button entity-link-selector-confirm pos corner-button">Select</button>
-                </div>
-            </div>
-        </div>
-    </div>
+    @include('partials/entity-selector-popup')
 
     <script>
         (function() {
diff --git a/resources/views/pages/form.blade.php b/resources/views/pages/form.blade.php
index 366316b33..e3c145aa2 100644
--- a/resources/views/pages/form.blade.php
+++ b/resources/views/pages/form.blade.php
@@ -73,6 +73,8 @@
                         <span class="float left">Editor</span>
                         <div class="float right buttons">
                             <button class="text-button" type="button" data-action="insertImage"><i class="zmdi zmdi-image"></i>Insert Image</button>
+                            &nbsp;|&nbsp;
+                            <button class="text-button" type="button" data-action="insertEntityLink"><i class="zmdi zmdi-link"></i>Insert Entity Link</button>
                         </div>
                     </div>
 
diff --git a/resources/views/partials/entity-selector-popup.blade.php b/resources/views/partials/entity-selector-popup.blade.php
new file mode 100644
index 000000000..b9166896a
--- /dev/null
+++ b/resources/views/partials/entity-selector-popup.blade.php
@@ -0,0 +1,14 @@
+<div id="entity-selector-wrap">
+    <div class="overlay" entity-link-selector>
+        <div class="popup-body small flex-child">
+            <div class="popup-header primary-background">
+                <div class="popup-title">Entity Select</div>
+                <button type="button" class="corner-button neg button popup-close">x</button>
+            </div>
+            @include('partials/entity-selector', ['name' => 'entity-selector'])
+            <div class="popup-footer">
+                <button type="button" disabled="true" class="button entity-link-selector-confirm pos corner-button">Select</button>
+            </div>
+        </div>
+    </div>
+</div>
\ No newline at end of file