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 @Sakigw:

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

9 active golfers, 51 entries

Solutions by @Sakigw:
30
#3 - Saki Gw / @Sakigw

10/31/2019 at 01:59PM

31
#>5 - Saki Gw / @Sakigw

10/27/2019 at 11:22PM

32
#>5 - Saki Gw / @Sakigw

10/25/2019 at 02:46PM

33
#>5 - Saki Gw / @Sakigw

10/25/2019 at 03:01PM

34
#>6 - Saki Gw / @Sakigw

10/25/2019 at 02:03PM

35
#>7 - Saki Gw / @Sakigw

10/25/2019 at 02:01PM

36
#>7 - Saki Gw / @Sakigw

10/18/2019 at 12:46PM

37
#>8 - Saki Gw / @Sakigw

10/18/2019 at 12:41PM

47
#>8 - Saki Gw / @Sakigw

10/18/2019 at 12:24PM

54
#>9 - Saki Gw / @Sakigw

10/18/2019 at 12:12PM

54
#>9 - Saki Gw / @Sakigw

10/18/2019 at 12:12PM

54
#>9 - Saki Gw / @Sakigw

10/18/2019 at 12:20PM

55
#>9 - Saki Gw / @Sakigw

10/18/2019 at 09:38AM

55
#>9 - Saki Gw / @Sakigw

10/18/2019 at 11:37AM

55
#>9 - Saki Gw / @Sakigw

10/18/2019 at 11:40AM

56
#>9 - Saki Gw / @Sakigw

10/18/2019 at 09:35AM

57
#>9 - Saki Gw / @Sakigw

10/14/2019 at 08:16AM