diff --git a/docs/configuration.md b/docs/configuration.md
index 20ed406..ea2968c 100644
--- a/docs/configuration.md
+++ b/docs/configuration.md
@@ -13,6 +13,8 @@
    - [OS-Specific Settings](#os-specific-settings)
    - [Project-Specific Settings](#project-specific-settings)
  - [Command Flags](#command-flags)
+   - [Formatting Command Flag Settings](#formatting-command-flag-settings)
+   - [Command Flag Setting Locations](#command-flag-setting-locations)
 
 ## Environment Autodetection
 
@@ -156,9 +158,52 @@
  - `cross_compile:flags` for "go build" with GOOS and GOARCH
  - `get:flags` for "go get"
 
-Each setting must have a value that is a list of strings.
+Any valid flag may be passed to the `go` executable via these settings.
 
-The most common location to set these settings will be in a project file:
+### Formatting Command Flag Settings
+
+Each setting must have a value that is a list of strings. Each list element
+contains a single command line argument.
+
+A flag without a value would be formatted as:
+
+```json
+{
+    "build:flags": ["-x"]
+}
+```
+
+Multiple flags are formatted as separate strings:
+
+```json
+{
+    "build:flags": ["-x", "-a"]
+}
+```
+
+If a flag accepts a value, the value should be added as a second string:
+
+```json
+{
+    "build:flags": ["-p", "4"]
+}
+```
+
+Strings arguments may contain spaces. The Golang Build package will ensure
+they are properly quoted when invoking the `go ` executable.
+
+```json
+{
+    "build:flags": ["-ldflags", "-L/usr/local/lib -L/opt/lib"]
+}
+```
+
+All flags are inserted at the end of the command line arguments, except in the
+case of `go get`, where they are placed before the URL to get.
+
+### Command Flag Setting Locations
+
+The most common location to set flag settings will be in a project file:
 
 ```json
 {
@@ -196,3 +241,17 @@
     }
 }
 ```
+
+If flags should be applied to all Go builds, irrespective of project, the
+settings may be added to the
+[global Sublime Text settings](#global-sublime-text-settings):
+
+```json
+{
+    "build:flags": ["-a", "-race"]
+}
+```
+
+Do note that settings do not combine from the global Sublime Text settings and
+project settings. Instead, any settings in a more specific location will
+override those in a less specific location.
diff --git a/docs/design.md b/docs/design.md
index c20f484..793b3a9 100644
--- a/docs/design.md
+++ b/docs/design.md
@@ -20,7 +20,7 @@
  - Configuration uses the Package Control dependency golangconfig, which allows
    users to set settings globally in Sublime Text, for each OS globally,
    per-project, or for each OS in a project
- - Settings exists that allow users to customize command line flags on a
+ - Settings exist that allow users to customize command line flags on a
    per-task-basis
 
 As is dictated by the Sublime Text API, the following list shows a mapping of
diff --git a/golang_build.py b/golang_build.py
index 7062af9..b44c428 100644
--- a/golang_build.py
+++ b/golang_build.py
@@ -73,7 +73,7 @@
             command line to learn about available flags.
         """
 
-        if _yeild_to_running_build(self.window):
+        if _yield_to_running_build(self.window):
             return
 
         working_dir = _determine_working_dir(self.window)
@@ -254,7 +254,7 @@
             flags.
         """
 
-        if _yeild_to_running_build(self.window):
+        if _yield_to_running_build(self.window):
             return
 
         working_dir = _determine_working_dir(self.window)
@@ -353,7 +353,7 @@
         newterm.launch_terminal(working_dir, env=env_overrides)
 
 
-def _yeild_to_running_build(window):
+def _yield_to_running_build(window):
     """
     Check if a build is already running, and if so, allow the user to stop it,
     or cancel the new build
