diff --git a/plugins/emacs/README.md b/plugins/emacs/README.md
deleted file mode 100644
index 302f400e03c1f3ecbbb2f9a68b9e3ddf9e51dd02..0000000000000000000000000000000000000000
--- a/plugins/emacs/README.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# Emacs Plugin
-
-This plugin replicates the functionality of the [emacs](https://www.gnu.org/software/emacs/) plugin for [oh-my-zsh](http://ohmyz.sh/).
-It is essentially a wrapper around the very useful [emacs daemon](http://www.emacswiki.org/emacs/EmacsAsDaemon) capability.
-
-Below is an extract from the original plugin source file:
-
-"Emacs 23 daemon capability is a killing feature.
-One emacs process handles all your frames whether
-you use a frame opened in a terminal via a ssh connection or X frames
-opened on the same host.
-Benefits are multiple
-
-  * You don't have the cost of starting Emacs all the time anymore
-  * Opening a file is as fast as Emacs does not have anything else to do.
-  * You can share opened buffered across opened frames.
-  * Configuration changes made at runtime are applied to all frames."
-
-
-### Usage
-
-To use this plugin add `emacs` to `fish_plugins` in you fish config file:
-
-```bash
-set fish_plugins emacs
-```
-
-### Requirements
-
-Emacs 23 or later is required for this plugin.
\ No newline at end of file
diff --git a/plugins/emacs/emacs.load b/plugins/emacs/emacs.load
deleted file mode 100644
index 41417ffba74686067ce3ec2dad7ad144c93e67fd..0000000000000000000000000000000000000000
--- a/plugins/emacs/emacs.load
+++ /dev/null
@@ -1,39 +0,0 @@
-function __major_version
-  if test -n "$argv"
-    set -l full_metadata (eval $argv --version)
-    set -l full_version (echo $full_metadata | grep -o "[0-9]\+.[0-9]\+.[0-9]\+.[0-9]\+")
-    set -l major_version (echo $full_version | sed  "s/\..*//")
-  end
-
-  echo $major_version
-end
-
-function __set_editor
-  if not set -q EDITOR
-    set -gx EDITOR emacs
-  end
-end
-
-function __add_functions_to_path
-  set emacs_functions $fish_path/plugins/emacs/functions
-  set fish_function_path $emacs_functions $fish_function_path
-end
-
-if not set -q __emacs
-  set __emacs (which emacs)
-end
-if not set -q __emacs_version
-  set __emacs_version (__major_version $__emacs)
-end
-
-if test "$__emacs_version" -gt 23
-  __set_editor
-  __add_functions_to_path
-end
-
-set -e emacs
-set -e emacs_version
-functions -e __major_version
-functions -e __plugins_path
-functions -e __set_editor
-functions -e __add_functions_to_path
diff --git a/plugins/emacs/functions/__kill_emacs.fish b/plugins/emacs/functions/__kill_emacs.fish
deleted file mode 100644
index 4ee03642a498f532b1c9d8d56b3269cd3037665e..0000000000000000000000000000000000000000
--- a/plugins/emacs/functions/__kill_emacs.fish
+++ /dev/null
@@ -1,3 +0,0 @@
-function __kill_emacs
-  emacsclient --alternate-editor '' --eval '(kill-emacs)' 2>/dev/null
-end
diff --git a/plugins/emacs/functions/__launch_emacs.fish b/plugins/emacs/functions/__launch_emacs.fish
deleted file mode 100644
index 1f23753437e3ccbe2243321969b16e9d2799e143..0000000000000000000000000000000000000000
--- a/plugins/emacs/functions/__launch_emacs.fish
+++ /dev/null
@@ -1,9 +0,0 @@
-function __launch_emacs
-  set -l x (emacsclient --alternate-editor '' --eval '(x-display-list)' 2>/dev/null)
-
-  if test -z "$x" -o "$x" = nil
-    emacsclient $argv --alternate-editor '' --create-frame
-  else
-    emacsclient $argv --alternate-editor ''
-  end
-end
diff --git a/plugins/emacs/functions/e.fish b/plugins/emacs/functions/e.fish
deleted file mode 100644
index dacba249b581bd6f40afe68f33a9ed5ba1234b7d..0000000000000000000000000000000000000000
--- a/plugins/emacs/functions/e.fish
+++ /dev/null
@@ -1,3 +0,0 @@
-function e
-  __launch_emacs $argv --no-wait
-end
diff --git a/plugins/emacs/functions/ec.fish b/plugins/emacs/functions/ec.fish
deleted file mode 100644
index 1914e1b19150af0373f82e634aca32d3fde2b709..0000000000000000000000000000000000000000
--- a/plugins/emacs/functions/ec.fish
+++ /dev/null
@@ -1,3 +0,0 @@
-function ec
-  __launch_emacs $argv --create-frame --no-wait
-end
diff --git a/plugins/emacs/functions/ecd.fish b/plugins/emacs/functions/ecd.fish
deleted file mode 100644
index b0b8978b46adb57d93da0eb12e79550ddea02adc..0000000000000000000000000000000000000000
--- a/plugins/emacs/functions/ecd.fish
+++ /dev/null
@@ -1,11 +0,0 @@
-function ecd
-  set -l cmd '(let ((buf-name (buffer-file-name (window-buffer))))
-             (if buf-name (file-name-directory buf-name)))'
-  set -l dir (__launch_emacs --eval $cmd | tr -d '\"')
-
-  if test -n "$dir"
-    echo $dir
-  else
-    echo 'cannot deduce current buffer filename.' >/dev/stderr
-  end
-end
diff --git a/plugins/emacs/functions/eeval.fish b/plugins/emacs/functions/eeval.fish
deleted file mode 100644
index 1fd80b7c39e3b8feedc4936971986f7d47551ca6..0000000000000000000000000000000000000000
--- a/plugins/emacs/functions/eeval.fish
+++ /dev/null
@@ -1,3 +0,0 @@
-function eeval
-  __launch_emacs --eval $argv
-end
diff --git a/plugins/emacs/functions/efile.fish b/plugins/emacs/functions/efile.fish
deleted file mode 100644
index 78ce2d03c514a5fdd00f4076e41a78a03a6e3e54..0000000000000000000000000000000000000000
--- a/plugins/emacs/functions/efile.fish
+++ /dev/null
@@ -1,5 +0,0 @@
-function efile
-  set -l cmd '(buffer-file-name (window-buffer))'
-
-  __launch_emacs --eval $cmd | tr -d '\"'
-end
diff --git a/plugins/emacs/functions/eframe.fish b/plugins/emacs/functions/eframe.fish
deleted file mode 100644
index d3ea82c0aebe33adfa7a02b718452fdac1e6c954..0000000000000000000000000000000000000000
--- a/plugins/emacs/functions/eframe.fish
+++ /dev/null
@@ -1,3 +0,0 @@
-function eframe
-  __launch_emacs $argv --create-frame --no-wait
-end
diff --git a/plugins/emacs/functions/ek.fish b/plugins/emacs/functions/ek.fish
deleted file mode 100644
index 03c951231281070e5431bbce8ae8857d245cfe70..0000000000000000000000000000000000000000
--- a/plugins/emacs/functions/ek.fish
+++ /dev/null
@@ -1,3 +0,0 @@
-function ek
-  __kill_emacs
-end
diff --git a/plugins/emacs/functions/emacs.fish b/plugins/emacs/functions/emacs.fish
deleted file mode 100644
index 9419fe7561ad41a280a93a2a7e50cd0f0a8d0214..0000000000000000000000000000000000000000
--- a/plugins/emacs/functions/emacs.fish
+++ /dev/null
@@ -1,3 +0,0 @@
-function emacs
-  __launch_emacs $argv --no-wait
-end
diff --git a/plugins/emacs/functions/emasc.fish b/plugins/emacs/functions/emasc.fish
deleted file mode 100644
index c70d00073d9da655085947f1997e7d8e8e8b32fe..0000000000000000000000000000000000000000
--- a/plugins/emacs/functions/emasc.fish
+++ /dev/null
@@ -1,3 +0,0 @@
-function emasc
-  __launch_emacs $argv --no-wait
-end
diff --git a/plugins/emacs/functions/emcas.fish b/plugins/emacs/functions/emcas.fish
deleted file mode 100644
index 02b38bc1b291a6914c9ca40d49e22c241add98d7..0000000000000000000000000000000000000000
--- a/plugins/emacs/functions/emcas.fish
+++ /dev/null
@@ -1,3 +0,0 @@
-function emcas
-  __launch_emacs $argv --no-wait
-end
diff --git a/plugins/emacs/functions/et.fish b/plugins/emacs/functions/et.fish
deleted file mode 100644
index 450a4f9db8d4a797111d599d6800d254ed7b5b5d..0000000000000000000000000000000000000000
--- a/plugins/emacs/functions/et.fish
+++ /dev/null
@@ -1,3 +0,0 @@
-function et
-  __launch_emacs $argv --tty
-end
diff --git a/plugins/emacs/spec/emacs.spec.fish b/plugins/emacs/spec/emacs.spec.fish
deleted file mode 100644
index dcea58bceb38c4d4a63d264c1ef04b618738576c..0000000000000000000000000000000000000000
--- a/plugins/emacs/spec/emacs.spec.fish
+++ /dev/null
@@ -1,118 +0,0 @@
-import plugins/fish-spec
-
-
-function describe_emacs
-
-  function before_all
-    set -g __emacs_current_editor $EDITOR
-    set -g __emacs_load_file $fish_path/plugins/emacs/emacs.load
-    set -g __emacs_functions e ec ek et ecd eeval efile eframe emacs emasc emcas
-  end
-
-  function before_each
-    set -e EDITOR
-    set -g __emacs '/bin/emacs'
-    set -g __emacs_version 25
-  end
-
-  function it_sets_editor_on_load
-    load_emacs_plugin
-
-    expect $EDITOR --to-equal "emacs"
-  end
-
-  function it_does_not_set_editor_when_it_is_already_set
-    set EDITOR 'vim'
-
-    load_emacs_plugin
-
-    expect $EDITOR --to-equal "vim"
-  end
-
-  function it_does_not_set_editor_when_emacs_is_not_found
-    emacs_is_not_found
-
-    load_emacs_plugin
-
-    expect "$EDITOR" --to-equal ""
-  end
-
-  function it_does_not_set_editor_when_emacs_version_is_lower_than_23
-    set __emacs_version 22
-
-    load_emacs_plugin
-
-    expect "$EDITOR" --to-equal ""
-  end
-
-  function it_adds_functions_to_fish_function_path
-    load_emacs_plugin
-
-    expect (functions) --to-contain-all $__emacs_functions
-  end
-
-  function it_has_a_test_helper_that_removes_emacs_functions
-    load_emacs_plugin
-
-    expect (functions) --to-contain-all $__emacs_functions
-
-    remove_emacs_functions
-
-    expect (functions) --to-not-contain-all $__emacs_functions
-  end
-
-
-  function it_does_not_add_functions_when_emacs_is_not_found
-    remove_emacs_functions
-    emacs_is_not_found
-
-    load_emacs_plugin
-
-    expect (functions) --to-not-contain-all $__emacs_functions
-  end
-
-  function it_does_not_add_functions_when_emacs_version_is_lower_than_23
-    set __emacs_version 22
-
-    expect (functions) --to-not-contain-all $__emacs_functions
-
-    load_emacs_plugin
-
-    expect (functions) --to-not-contain-all $__emacs_functions
-  end
-
-
-  function emacs_is_not_found
-    set __emacs ""
-    set __emacs_version ""
-  end
-
-  function load_emacs_plugin
-    source $__emacs_load_file
-  end
-
-  function remove_emacs_functions
-    for path in $fish_function_path
-      set match (echo $path | grep emacs)
-      if test -z "$match"
-        set -g __new_fish_function_path $__new_fish_function_path $path
-      end
-    end
-
-    set fish_function_path $__new_fish_function_path
-    set -e __new_fish_function_path
-  end
-
-  function after_all
-    set EDITOR $__emacs_current_editor
-
-    set -e __emacs
-    set -e __emacs_version
-    set -e __emacs_load_file
-    set -e __emacs_functions
-    set -e __emacs_current_editor
-  end
-end
-
-
-spec.run $argv