Real Vim ninjas count every keystroke - do you?

Pick a challenge, fire up Vim, and show us what you got.

Changelog, Rules & FAQ, updates: @vimgolf, RSS.

Your VimGolf key: please sign in

$ gem install vimgolf
$ vimgolf setup
$ vimgolf put 5da1fae264d6990006137c21

Comparing Schema With Diff

Sometimes databases output things differently one to another. Fixing things that are out of order will make the diffs more usable.

Start file
CREATE TABLE sales.stores (					CREATE TABLE sales.stores (
 store_id INT IDENTITY (1, 1) PRIMARY KEY,			 store_id INT IDENTITY (1, 1) PRIMARY KEY,
 store_name VARCHAR (255) NOT NULL,				 store_name VARCHAR (255) NOT NULL,
 phone VARCHAR (25),						 phone VARCHAR (25),
 email VARCHAR (255),						 email VARCHAR (255),
 street VARCHAR (255),						 street VARCHAR (255),
 city VARCHAR (255),						 city VARCHAR (255),
 state VARCHAR (10),						 state VARCHAR (10),
 zip_code VARCHAR (5)						 zip_code VARCHAR (5)
);								);


							      >	CREATE TABLE sales.customers (
							      >	 customer_id INT IDENTITY (1, 1) PRIMARY KEY,
							      >	 first_name VARCHAR (255) NOT NULL,
							      >	 last_name VARCHAR (255) NOT NULL,
							      >	 phone VARCHAR (25),
							      >	 street VARCHAR (255),
							      >	 city VARCHAR (50),
							      >	 state VARCHAR (25),
							      >	 zip_code VARCHAR (5)
							      >	);
							      >
CREATE TABLE production.categories (				CREATE TABLE production.categories (
 category_id INT IDENTITY (1, 1) PRIMARY KEY,			 category_id INT IDENTITY (1, 1) PRIMARY KEY,
 category_name VARCHAR (255) NOT NULL				 category_name VARCHAR (255) NOT NULL
);								);


CREATE TABLE production.products (				CREATE TABLE production.products (
 product_id INT IDENTITY (1, 1) PRIMARY KEY,			 product_id INT IDENTITY (1, 1) PRIMARY KEY,
 product_name VARCHAR (255) NOT NULL,				 product_name VARCHAR (255) NOT NULL,
 brand_id INT NOT NULL,						 brand_id INT NOT NULL,
 category_id INT NOT NULL,					 category_id INT NOT NULL,
 model_year SMALLINT NOT NULL,					 model_year SMALLINT NOT NULL,
 list_price DECIMAL (10, 2) NOT NULL,				 list_price DECIMAL (10, 2) NOT NULL,
 FOREIGN KEY (category_id) 					 FOREIGN KEY (category_id) 
        REFERENCES production.categories (category_id) 		        REFERENCES production.categories (category_id) 
        ON DELETE CASCADE ON UPDATE CASCADE,			        ON DELETE CASCADE ON UPDATE CASCADE,
 FOREIGN KEY (brand_id) 					 FOREIGN KEY (brand_id) 
        REFERENCES sales.brands (brand_id) 			        REFERENCES sales.brands (brand_id) 
        ON DELETE CASCADE ON UPDATE CASCADE			        ON DELETE CASCADE ON UPDATE CASCADE
);								);


CREATE TABLE sales.customers (				      <
 customer_id INT IDENTITY (1, 1) PRIMARY KEY,		      <
 first_name VARCHAR (255) NOT NULL,			      <
 last_name VARCHAR (255) NOT NULL,			      <
 phone VARCHAR (25),					      <
 email VARCHAR (255) NOT NULL,				      <
 street VARCHAR (255),					      <
 city VARCHAR (50),					      <
 state VARCHAR (25),					      <
 zip_code VARCHAR (5)					      <
);							      <
End file
CREATE TABLE sales.stores (					CREATE TABLE sales.stores (
 store_id INT IDENTITY (1, 1) PRIMARY KEY,			 store_id INT IDENTITY (1, 1) PRIMARY KEY,
 store_name VARCHAR (255) NOT NULL,				 store_name VARCHAR (255) NOT NULL,
 phone VARCHAR (25),						 phone VARCHAR (25),
 email VARCHAR (255),						 email VARCHAR (255),
 street VARCHAR (255),						 street VARCHAR (255),
 city VARCHAR (255),						 city VARCHAR (255),
 state VARCHAR (10),						 state VARCHAR (10),
 zip_code VARCHAR (5)						 zip_code VARCHAR (5)
);								);

							      <
CREATE TABLE production.categories (				CREATE TABLE production.categories (
 category_id INT IDENTITY (1, 1) PRIMARY KEY,			 category_id INT IDENTITY (1, 1) PRIMARY KEY,
 category_name VARCHAR (255) NOT NULL				 category_name VARCHAR (255) NOT NULL
);								);


CREATE TABLE production.products (				CREATE TABLE production.products (
 product_id INT IDENTITY (1, 1) PRIMARY KEY,			 product_id INT IDENTITY (1, 1) PRIMARY KEY,
 product_name VARCHAR (255) NOT NULL,				 product_name VARCHAR (255) NOT NULL,
 brand_id INT NOT NULL,						 brand_id INT NOT NULL,
 category_id INT NOT NULL,					 category_id INT NOT NULL,
 model_year SMALLINT NOT NULL,					 model_year SMALLINT NOT NULL,
 list_price DECIMAL (10, 2) NOT NULL,				 list_price DECIMAL (10, 2) NOT NULL,
 FOREIGN KEY (category_id) 					 FOREIGN KEY (category_id) 
        REFERENCES production.categories (category_id) 		        REFERENCES production.categories (category_id) 
        ON DELETE CASCADE ON UPDATE CASCADE,			        ON DELETE CASCADE ON UPDATE CASCADE,
 FOREIGN KEY (brand_id) 					 FOREIGN KEY (brand_id) 
        REFERENCES sales.brands (brand_id) 			        REFERENCES sales.brands (brand_id) 
        ON DELETE CASCADE ON UPDATE CASCADE			        ON DELETE CASCADE ON UPDATE CASCADE
);								);


CREATE TABLE sales.customers (					CREATE TABLE sales.customers (
 customer_id INT IDENTITY (1, 1) PRIMARY KEY,			 customer_id INT IDENTITY (1, 1) PRIMARY KEY,
 first_name VARCHAR (255) NOT NULL,				 first_name VARCHAR (255) NOT NULL,
 last_name VARCHAR (255) NOT NULL,				 last_name VARCHAR (255) NOT NULL,
 phone VARCHAR (25),						 phone VARCHAR (25),
 email VARCHAR (255) NOT NULL,				      <
 street VARCHAR (255),						 street VARCHAR (255),
 city VARCHAR (50),						 city VARCHAR (50),
 state VARCHAR (25),						 state VARCHAR (25),
 zip_code VARCHAR (5)						 zip_code VARCHAR (5)
);								);

View Diff

12,23c12
< 
< 							      >	CREATE TABLE sales.customers (
< 							      >	 customer_id INT IDENTITY (1, 1) PRIMARY KEY,
< 							      >	 first_name VARCHAR (255) NOT NULL,
< 							      >	 last_name VARCHAR (255) NOT NULL,
< 							      >	 phone VARCHAR (25),
< 							      >	 street VARCHAR (255),
< 							      >	 city VARCHAR (50),
< 							      >	 state VARCHAR (25),
< 							      >	 zip_code VARCHAR (5)
< 							      >	);
< 							      >
---
> 							      <
46,50c35,39
< CREATE TABLE sales.customers (				      <
<  customer_id INT IDENTITY (1, 1) PRIMARY KEY,		      <
<  first_name VARCHAR (255) NOT NULL,			      <
<  last_name VARCHAR (255) NOT NULL,			      <
<  phone VARCHAR (25),					      <
---
> CREATE TABLE sales.customers (					CREATE TABLE sales.customers (
>  customer_id INT IDENTITY (1, 1) PRIMARY KEY,			 customer_id INT IDENTITY (1, 1) PRIMARY KEY,
>  first_name VARCHAR (255) NOT NULL,				 first_name VARCHAR (255) NOT NULL,
>  last_name VARCHAR (255) NOT NULL,				 last_name VARCHAR (255) NOT NULL,
>  phone VARCHAR (25),						 phone VARCHAR (25),
52,56c41,45
<  street VARCHAR (255),					      <
<  city VARCHAR (50),					      <
<  state VARCHAR (25),					      <
<  zip_code VARCHAR (5)					      <
< );							      <
---
>  street VARCHAR (255),						 street VARCHAR (255),
>  city VARCHAR (50),						 city VARCHAR (50),
>  state VARCHAR (25),						 state VARCHAR (25),
>  zip_code VARCHAR (5)						 zip_code VARCHAR (5)
> );								);

Solutions by @braxler:

Unlock 7 remaining solutions by signing in and submitting your own entry
Created by: @BradleySmall

10 active golfers, 52 entries

Solutions by @braxler:
30
#2 - John Braxler / @braxler

10/28/2019 at 02:59PM

31
#>5 - John Braxler / @braxler

10/25/2019 at 05:56PM

32
#>5 - John Braxler / @braxler

10/24/2019 at 09:43PM

34
#>5 - John Braxler / @braxler

10/18/2019 at 05:18PM

35
#>7 - John Braxler / @braxler

10/18/2019 at 05:15PM

38
#>8 - John Braxler / @braxler

10/17/2019 at 08:35PM

44
#>8 - John Braxler / @braxler

10/17/2019 at 04:26PM