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 9v0066fde7b000000000046f

extract struct tag in go

Can you extract all struct tags in the fewest keystrokes possible?

Start file
import "time"

type User struct {
	ID             int       `json:"id" db:"user_id"`
	Name           string    `json:"name" db:"username"`
	Email          string    `json:"email" db:"email"`
	CreatedAt      time.Time `json:"created_at" db:"created_at"`
	Password       string    `json:"-" db:"password"` // Omit password from JSON serialization
	Address        string    `json:"address" db:"address"`
	City           string    `json:"city" db:"city"`
	State          string    `json:"state" db:"state"`
	Country        string    `json:"country" db:"country"`
	ZipCode        string    `json:"zip_code" db:"zip_code"`
	PhoneNumber    string    `json:"phone_number" db:"phone_number"`
	ProfilePicture string    `json:"profile_picture" db:"profile_picture"`
	Roles          []string  `json:"roles" db:"roles"`
	CreatedAt      time.Time `json:"created_at" db:"created_at"`
	UpdatedAt      time.Time `json:"updated_at" db:"updated_at"`
}
End file
import "time"

type User struct {
	ID             int       `json:"id" db:"user_id"`
	Name           string    `json:"name" db:"username"`
	Email          string    `json:"email" db:"email"`
	CreatedAt      time.Time `json:"created_at" db:"created_at"`
	Password       string    `json:"-" db:"password"` // Omit password from JSON serialization
	Address        string    `json:"address" db:"address"`
	City           string    `json:"city" db:"city"`
	State          string    `json:"state" db:"state"`
	Country        string    `json:"country" db:"country"`
	ZipCode        string    `json:"zip_code" db:"zip_code"`
	PhoneNumber    string    `json:"phone_number" db:"phone_number"`
	ProfilePicture string    `json:"profile_picture" db:"profile_picture"`
	Roles          []string  `json:"roles" db:"roles"`
	CreatedAt      time.Time `json:"created_at" db:"created_at"`
	UpdatedAt      time.Time `json:"updated_at" db:"updated_at"`
}
{"user_id", "username", "email", "password", "address", "city", "state", "country", "zip_code", "phone_number", "profile_picture", "roles", "created_at", "updated_at"}

View Diff

19a20
> {"user_id", "username", "email", "password", "address", "city", "state", "country", "zip_code", "phone_number", "profile_picture", "roles", "created_at", "updated_at"}

Solutions by @danilobellini:

Unlock 3 remaining solutions by signing in and submitting your own entry
Created by: @__ngtrongkha

17 active golfers, 42 entries

Solutions by @danilobellini:
29
#1 - Danilo J. S. Bellini 🥊🇧🇷 / @danilobellini

12/01/2024 at 08:42PM

30
#>2 - Danilo J. S. Bellini 🥊🇧🇷 / @danilobellini

12/01/2024 at 08:37PM

32
#>2 - Danilo J. S. Bellini 🥊🇧🇷 / @danilobellini

12/01/2024 at 08:31PM