Use Python's argument parser's "version" action
diff --git a/yapf/__init__.py b/yapf/__init__.py
index 21eaa01..ecb462b 100644
--- a/yapf/__init__.py
+++ b/yapf/__init__.py
@@ -59,10 +59,6 @@
   """
   parser = _BuildParser()
   args = parser.parse_args(argv[1:])
-  if args.version:
-    print('yapf {}'.format(__version__))
-    return 0
-
   style_config = args.style
 
   if args.style_help:
@@ -276,12 +272,13 @@
   Returns:
     An ArgumentParser instance for the CLI.
   """
-  parser = argparse.ArgumentParser(description='Formatter for Python code.')
+  parser = argparse.ArgumentParser(
+      prog='yapf', description='Formatter for Python code.')
   parser.add_argument(
       '-v',
       '--version',
-      action='store_true',
-      help='show version number and exit')
+      action='version',
+      version='%(prog)s {}'.format(__version__))
 
   diff_inplace_quiet_group = parser.add_mutually_exclusive_group()
   diff_inplace_quiet_group.add_argument(
diff --git a/yapftests/main_test.py b/yapftests/main_test.py
index dd89753..c83b8b6 100644
--- a/yapftests/main_test.py
+++ b/yapftests/main_test.py
@@ -137,10 +137,3 @@
       self.assertIn('indent_width=4', help_message)
       self.assertIn('The number of spaces required before a trailing comment.',
                     help_message)
-
-  def testVersion(self):
-    with captured_output() as (out, _):
-      ret = yapf.main(['-', '--version'])
-      self.assertEqual(ret, 0)
-      version = 'yapf {}\n'.format(yapf.__version__)
-      self.assertEqual(version, out.getvalue())