diff --git a/lib/Drupal/field/Plugin/views/argument/views_handler_argument_field_list.inc b/lib/Drupal/field/Plugin/views/argument/FieldList.php
similarity index 90%
rename from lib/Drupal/field/Plugin/views/argument/views_handler_argument_field_list.inc
rename to lib/Drupal/field/Plugin/views/argument/FieldList.php
index 0acf14a5c99fc0c26dcbc4819808ae884cdb0b58..63076dbbff23b99ce29d0750edd72c901b1018e5 100644
--- a/lib/Drupal/field/Plugin/views/argument/views_handler_argument_field_list.inc
+++ b/lib/Drupal/field/Plugin/views/argument/FieldList.php
@@ -5,7 +5,10 @@
  * Definition of views_handler_argument_field_list.
  */
 
+namespace Drupal\field\Plugin\views\argument;
+
 use Drupal\views\Plugins\views\argument\Numeric;
+use Drupal\Core\Annotation\Plugin;
 
 /**
  * Argument handler for list field to show the human readable name in the
@@ -13,7 +16,13 @@
  *
  * @ingroup views_argument_handlers
  */
-class views_handler_argument_field_list extends Numeric {
+
+/**
+ * @Plugin(
+ *   plugin_id = "field_list"
+ * )
+ */
+class FieldList extends Numeric {
   /**
    * Stores the allowed values of this field.
    *
diff --git a/lib/Drupal/field/Plugin/views/argument/views_handler_argument_field_list_string.inc b/lib/Drupal/field/Plugin/views/argument/ListString.php
similarity index 90%
rename from lib/Drupal/field/Plugin/views/argument/views_handler_argument_field_list_string.inc
rename to lib/Drupal/field/Plugin/views/argument/ListString.php
index e35e5e41319637d0f7dc77d5365ac55e2a06adea..f82b4d12a0611d61732261ec633d32856ccd5526 100644
--- a/lib/Drupal/field/Plugin/views/argument/views_handler_argument_field_list_string.inc
+++ b/lib/Drupal/field/Plugin/views/argument/ListString.php
@@ -5,7 +5,10 @@
  * Definition of views_handler_argument_field_list_text.
  */
 
+namespace Drupal\field\Plugin\views\argument;
+
 use Drupal\views\Plugins\views\argument\String;
+use Drupal\Core\Annotation\Plugin;
 
 
 /**
@@ -14,7 +17,13 @@
  *
  * @ingroup views_argument_handlers
  */
-class views_handler_argument_field_list_string extends String {
+
+/**
+ * @Plugin(
+ *   plugin_id = "field_list_string"
+ * )
+ */
+class ListString extends String {
   /**
    * Stores the allowed values of this field.
    *
diff --git a/lib/Drupal/field/Plugin/views/field/views_handler_field_field.inc b/lib/Drupal/field/Plugin/views/field/Field.php
similarity index 99%
rename from lib/Drupal/field/Plugin/views/field/views_handler_field_field.inc
rename to lib/Drupal/field/Plugin/views/field/Field.php
index b8b5f82d2c76d93e4aa3ba3afc4e80bfba66a709..a79813d176650e5af935009a9046d2a467e5d974 100644
--- a/lib/Drupal/field/Plugin/views/field/views_handler_field_field.inc
+++ b/lib/Drupal/field/Plugin/views/field/Field.php
@@ -5,7 +5,10 @@
  * Definition of views_handler_field_field.
  */
 
+namespace Drupal\field\Plugin\views\field;
+
 use Drupal\views\Plugins\views\field\FieldPluginBase;
+use Drupal\Core\Annotation\Plugin;
 
 /**
  * Helper function: Return an array of formatter options for a field type.
@@ -39,7 +42,13 @@ function _field_view_formatter_options($field_type = NULL) {
  *
  * @ingroup views_field_handlers
  */
-class views_handler_field_field extends FieldPluginBase {
+
+/**
+ * @Plugin(
+ *   plugin_id = "field"
+ * )
+ */
+class Field extends FieldPluginBase {
   /**
    * An array to store field renderable arrays for use by render_items.
    * @var array
diff --git a/lib/Drupal/field/Plugin/views/filter/views_handler_filter_field_list.inc b/lib/Drupal/field/Plugin/views/filter/FieldList.php
similarity index 68%
rename from lib/Drupal/field/Plugin/views/filter/views_handler_filter_field_list.inc
rename to lib/Drupal/field/Plugin/views/filter/FieldList.php
index bc0130d99af4c8aead9c66fb782f055a2e05753c..6413a2f00042ceab4a287bb8fa03b118678f1117 100644
--- a/lib/Drupal/field/Plugin/views/filter/views_handler_filter_field_list.inc
+++ b/lib/Drupal/field/Plugin/views/filter/FieldList.php
@@ -5,14 +5,23 @@
  * Definition of views_handler_filter_field_list.
  */
 
+namespace Drupal\field\Plugin\views\filter;
+
 use Drupal\views\Plugins\views\filter\InOperator;
+use Drupal\Core\Annotation\Plugin;
 
 /**
  * Filter handler which uses list-fields as options.
  *
  * @ingroup views_filter_handlers
  */
-class views_handler_filter_field_list extends InOperator {
+
+/**
+ * @Plugin(
+ *   plugin_id = "field_list"
+ * )
+ */
+class FieldList extends InOperator {
   function get_value_options() {
     $field = field_info_field($this->definition['field_name']);
     $this->value_options = list_allowed_values($field);
diff --git a/lib/Drupal/field/Plugin/views/relationship/views_handler_relationship_entity_reverse.inc b/lib/Drupal/field/Plugin/views/relationship/EntityReverse.php
similarity index 92%
rename from lib/Drupal/field/Plugin/views/relationship/views_handler_relationship_entity_reverse.inc
rename to lib/Drupal/field/Plugin/views/relationship/EntityReverse.php
index 90c3e02e93348d43c29aae0cc5437639c62bf3c2..4e3130d815e79139743b2839d0321c2603d96df3 100644
--- a/lib/Drupal/field/Plugin/views/relationship/views_handler_relationship_entity_reverse.inc
+++ b/lib/Drupal/field/Plugin/views/relationship/EntityReverse.php
@@ -5,15 +5,24 @@
  * Definition of views_handler_relationship_entity_reverse.
  */
 
+namespace Drupal\field\Plugin\views\relationship;
+
 use Drupal\views\Join;
 use Drupal\views\Plugins\views\relationship\RelationshipPluginBase;
+use Drupal\Core\Annotation\Plugin;
 
 /**
  * A relationship handlers which reverse entity references.
  *
  * @ingroup views_relationship_handlers
  */
-class views_handler_relationship_entity_reverse extends RelationshipPluginBase  {
+
+/**
+ * @Plugin(
+ *   plugin_id = "entity_reverse"
+ * )
+ */
+class EntityReverse extends RelationshipPluginBase  {
   function init(&$view, &$options) {
     parent::init($view, $options);
 
diff --git a/lib/Drupal/filter/Plugin/views/field/views_handler_field_filter_format_name.inc b/lib/Drupal/filter/Plugin/views/field/FormatName.php
similarity index 78%
rename from lib/Drupal/filter/Plugin/views/field/views_handler_field_filter_format_name.inc
rename to lib/Drupal/filter/Plugin/views/field/FormatName.php
index 0a7bf3b86817408945d6051119f8694b11b17ed0..0d61e2aba99a1cca2933e66a77cc88904e3101ca 100644
--- a/lib/Drupal/filter/Plugin/views/field/views_handler_field_filter_format_name.inc
+++ b/lib/Drupal/filter/Plugin/views/field/FormatName.php
@@ -5,12 +5,23 @@
  * Definition of views_handler_field_filter_format_name.
  */
 
+namespace Drupal\filter\Plugin\views\field;
+
+use Drupal\views\Plugins\views\field\FieldPluginBase;
+use Drupal\Core\Annotation\Plugin;
+
 /**
  * Field handler to output the name of an input format.
  *
  * @ingroup views_field_handlers
  */
-class views_handler_field_filter_format_name extends views_handler_field {
+
+/**
+ * @Plugin(
+ *   plugin_id = "filter_format_name"
+ * )
+ */
+class FormatName extends FieldPluginBase {
   function construct() {
     parent::construct();
     // Be explicit about the table we are using.
diff --git a/lib/Drupal/views/Plugins/views/row/RowPluginBase.php b/lib/Drupal/views/Plugins/views/row/RowPluginBase.php
index 4b082b610611cb1cfb525b5a4a8c9078096afb1e..c19b3ee75def8cb58f261c53712c2492b5b85e07 100644
--- a/lib/Drupal/views/Plugins/views/row/RowPluginBase.php
+++ b/lib/Drupal/views/Plugins/views/row/RowPluginBase.php
@@ -37,7 +37,7 @@ function init(&$view, &$display, $options = NULL) {
   }
 
   function uses_fields() {
-    return !empty($this->definition['uses fields']);
+    return !empty($this->definition['uses_fields']);
   }
 
 
diff --git a/lib/Drupal/views/Plugins/views/style/StylePluginBase.php b/lib/Drupal/views/Plugins/views/style/StylePluginBase.php
index be736b7e964b5918d79a732163d6de8d2ccd5296..4c4427122759eb6d1aaaba170ab002dbae0a2a7b 100644
--- a/lib/Drupal/views/Plugins/views/style/StylePluginBase.php
+++ b/lib/Drupal/views/Plugins/views/style/StylePluginBase.php
@@ -106,7 +106,7 @@ function uses_fields() {
       $row_uses_fields = $this->row_plugin->uses_fields();
     }
     // Otherwise, check the definition or the option.
-    return $row_uses_fields || !empty($this->definition['uses fields']) || !empty($this->options['uses_fields']);
+    return $row_uses_fields || !empty($this->definition['uses_fields']) || !empty($this->options['uses_fields']);
   }
 
   /**
diff --git a/modules/field.views.inc b/modules/field.views.inc
index 3a9371f553147d79005a037686df4ed8a07f59b4..bc407681f35aa406ceb4c83ad52768412e7db79a 100644
--- a/modules/field.views.inc
+++ b/modules/field.views.inc
@@ -234,7 +234,7 @@ function field_views_field_default_views_data($field) {
     $real_field = reset($keys);
     $data[$table][$column]['field'] = array(
       'table' => $table,
-      'handler' => 'views_handler_field_field',
+      'plugin_id' => 'field',
       'click sortable' => TRUE,
       'field_name' => $field['field_name'],
       // Provide a real field for group by.
@@ -259,18 +259,18 @@ function field_views_field_default_views_data($field) {
       case 'serial':
       case 'numeric':
       case 'float':
-        $filter = 'views_handler_filter_numeric';
-        $argument = 'views_handler_argument_numeric';
-        $sort = 'views_handler_sort';
+        $filter = 'numeric';
+        $argument = 'numeric';
+        $sort = 'standard';
         break;
       case 'text':
       case 'blob':
         // It does not make sense to sort by blob or text.
         $allow_sort = FALSE;
       default:
-        $filter = 'views_handler_filter_string';
-        $argument = 'views_handler_argument_string';
-        $sort = 'views_handler_sort';
+        $filter = 'string';
+        $argument = 'string';
+        $sort = 'standard';
         break;
     }
 
@@ -335,7 +335,7 @@ function field_views_field_default_views_data($field) {
       $data[$table][$column_real_name]['argument'] = array(
         'field' => $column_real_name,
         'table' => $table,
-        'handler' => $argument,
+        'plugin_id' => $argument,
         'additional fields' => $additional_fields,
         'field_name' => $field['field_name'],
         'empty field name' => t('- No value -'),
@@ -343,7 +343,7 @@ function field_views_field_default_views_data($field) {
       $data[$table][$column_real_name]['filter'] = array(
         'field' => $column_real_name,
         'table' => $table,
-        'handler' => $filter,
+        'plugin_id' => $filter,
         'additional fields' => $additional_fields,
         'field_name' => $field['field_name'],
         'allow empty' => TRUE,
@@ -352,7 +352,7 @@ function field_views_field_default_views_data($field) {
         $data[$table][$column_real_name]['sort'] = array(
           'field' => $column_real_name,
           'table' => $table,
-          'handler' => $sort,
+          'plugin_id' => $sort,
           'additional fields' => $additional_fields,
           'field_name' => $field['field_name'],
         );
@@ -410,14 +410,14 @@ function list_field_views_data($field) {
   foreach ($data as $table_name => $table_data) {
     foreach ($table_data as $field_name => $field_data) {
       if (isset($field_data['filter']) && $field_name != 'delta') {
-        $data[$table_name][$field_name]['filter']['handler'] = 'views_handler_filter_field_list';
+        $data[$table_name][$field_name]['filter']['plugin_id'] = 'field_list';
       }
       if (isset($field_data['argument']) && $field_name != 'delta') {
         if ($field['type'] == 'list_text') {
-          $data[$table_name][$field_name]['argument']['handler'] = 'views_handler_argument_field_list_string';
+          $data[$table_name][$field_name]['argument']['plugin_id'] = 'field_list_string';
         }
         else {
-          $data[$table_name][$field_name]['argument']['handler'] = 'views_handler_argument_field_list';
+          $data[$table_name][$field_name]['argument']['plugin_id'] = 'field_list';
         }
       }
     }
diff --git a/views.api.php b/views.api.php
index a4ecd9b13e8c18bdb2bbb431b9b9e108c8ae6da7..cce8444e02cd18425fb3c1eed09d3df8b7b8f6de 100644
--- a/views.api.php
+++ b/views.api.php
@@ -578,14 +578,14 @@ function hook_views_data_alter(&$data) {
  *   - Used by style plugins:
  *     - uses_row_plugin: Set to TRUE to allow row plugins for this style.
  *     - uses_row_class: Set to TRUE to allow the CSS class settings for rows.
- *     - uses fields: Set to TRUE to have the style plugin accept field
+ *     - uses_fields: Set to TRUE to have the style plugin accept field
  *       handlers.
  *     - uses grouping: Set to TRUE to allow the grouping settings for rows.
  *     - even empty: May have the value 'even empty' to tell Views that the style
  *       should be rendered even if there are no results.
  *
  *   - Used by row plugins:
- *     - uses fields: Set to TRUE to have the row plugin accept field handlers.
+ *     - uses_fields: Set to TRUE to have the row plugin accept field handlers.
  */
 function hook_views_plugins() {
   $plugins = array();