diff --git a/src/dosinst.c b/src/dosinst.c
index 0c16173..9226b63 100644
--- a/src/dosinst.c
+++ b/src/dosinst.c
@@ -419,7 +419,7 @@
 		vim = default_vim_dir;
 	    else
 		/* Let NSIS know there is no default, it should use
-		 * $PROGRAMFIlES. */
+		 * $PROGRAMFILES. */
 		vim = "";
 	}
     }
diff --git a/src/dosinst.h b/src/dosinst.h
index 455d2a6..779b3fc 100644
--- a/src/dosinst.h
+++ b/src/dosinst.h
@@ -518,7 +518,7 @@
     int		c;
     char	*retval = buf;
 
-    if (strchr(fname, ':') != NULL)	/* allready expanded */
+    if (strchr(fname, ':') != NULL)	/* already expanded */
     {
 	strncpy(buf, fname, len);
     }
diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c
index 6480377..add7adb 100644
--- a/src/ex_cmds2.c
+++ b/src/ex_cmds2.c
@@ -3971,7 +3971,7 @@
 
 	    ++_nl_msg_cat_cntr;
 #endif
-	    /* Reset $LC_ALL, otherwise it would overrule everyting. */
+	    /* Reset $LC_ALL, otherwise it would overrule everything. */
 	    vim_setenv((char_u *)"LC_ALL", (char_u *)"");
 
 	    if (what != LC_TIME)
diff --git a/src/if_tcl.c b/src/if_tcl.c
index 4b089ce..ce00246 100644
--- a/src/if_tcl.c
+++ b/src/if_tcl.c
@@ -375,7 +375,7 @@
 
 /*
  *  "::vim::buffer list" - create a list of buffer commands.
- *  "::vim::bufffer {N}" - create buffer command for buffer N.
+ *  "::vim::buffer {N}" - create buffer command for buffer N.
  *  "::vim::buffer new" - create a new buffer (not implemented)
  */
 /* ARGSUSED */
@@ -1872,7 +1872,7 @@
      * callback, which deletes all refs pointing to this interpreter.
      * We could garbage-collect the unused ref structs in all windows and
      * buffers, but unless the user creates hundreds of sub-interpreters
-     * all refering to lots of windows and buffers, this is hardly worth
+     * all referring to lots of windows and buffers, this is hardly worth
      * the effort.  Unused refs are recycled by other interpreters, and
      * all refs are free'd when the window/buffer gets closed by vim.
      */
diff --git a/src/search.c b/src/search.c
index d12e468..d73f3b9 100644
--- a/src/search.c
+++ b/src/search.c
@@ -125,7 +125,7 @@
  * pat_save == RE_SUBST: save pat in spats[RE_SUBST].pat (:substitute command)
  * pat_save == RE_BOTH: save pat in both patterns (:global command)
  * pat_use  == RE_SEARCH: use previous search pattern if "pat" is NULL
- * pat_use  == RE_SUBST: use previous sustitute pattern if "pat" is NULL
+ * pat_use  == RE_SUBST: use previous substitute pattern if "pat" is NULL
  * pat_use  == RE_LAST: use last used pattern if "pat" is NULL
  * options & SEARCH_HIS: put search string in history
  * options & SEARCH_KEEP: keep previous search pattern
@@ -947,7 +947,7 @@
 
 /*
  * Highest level string search function.
- * Search for the 'count'th occurence of pattern 'pat' in direction 'dirc'
+ * Search for the 'count'th occurrence of pattern 'pat' in direction 'dirc'
  *		  If 'dirc' is 0: use previous dir.
  *    If 'pat' is NULL or empty : use previous string.
  *    If 'options & SEARCH_REV' : go in reverse of previous dir.
diff --git a/src/syntax.c b/src/syntax.c
index 0a4ce91..5d43ede 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -307,7 +307,7 @@
  */
 typedef struct
 {
-    int		flags;		/* flags for contained and transpartent */
+    int		flags;		/* flags for contained and transparent */
     int		keyword;	/* TRUE for ":syn keyword" */
     int		*sync_idx;	/* syntax item for "grouphere" argument, NULL
 				   if not allowed */
@@ -7175,7 +7175,7 @@
 
 	    /*
 	     * The "start" and "stop"  arguments can be a literal escape
-	     * sequence, or a comma seperated list of terminal codes.
+	     * sequence, or a comma separated list of terminal codes.
 	     */
 	    if (STRNCMP(arg, "t_", 2) == 0)
 	    {
@@ -7685,7 +7685,7 @@
 	    /* The Athena widget set cannot currently handle switching between
 	     * displaying a single font and a fontset.
 	     * If the XtNinternational resource is set to True at widget
-	     * creation, then a fontset is always used, othwise an
+	     * creation, then a fontset is always used, otherwise an
 	     * XFontStruct is used.
 	     */
 	    gui.tooltip_fontset = (XFontSet)HL_TABLE()[idx].sg_fontset;
