diff --git a/src/cmd/acme/dat.h b/src/cmd/acme/dat.h
index 338a1ff..789ce1c 100644
--- a/src/cmd/acme/dat.h
+++ b/src/cmd/acme/dat.h
@@ -529,6 +529,7 @@
 int			erroutfd;
 int			messagesize;		/* negotiated in 9P version setup */
 int			globalautoindent;
+int			nodotfiles;
 
 Channel	*ckeyboard;	/* chan(Rune)[10] */
 Channel	*cplumb;		/* chan(Plumbmsg*) */
diff --git a/src/cmd/acme/exec.c b/src/cmd/acme/exec.c
index 3c1aad2..15b1467 100644
--- a/src/cmd/acme/exec.c
+++ b/src/cmd/acme/exec.c
@@ -18,6 +18,7 @@
 
 void	del(Text*, Text*, Text*, int, int, Rune*, int);
 void	delcol(Text*, Text*, Text*, int, int, Rune*, int);
+void	dotfiles(Text*, Text*, Text*, int, int, Rune*, int);
 void	dump(Text*, Text*, Text*, int, int, Rune*, int);
 void	edit(Text*, Text*, Text*, int, int, Rune*, int);
 void	xexit(Text*, Text*, Text*, int, int, Rune*, int);
@@ -52,6 +53,7 @@
 static Rune LDel[] = { 'D', 'e', 'l', 0 };
 static Rune LDelcol[] = { 'D', 'e', 'l', 'c', 'o', 'l', 0 };
 static Rune LDelete[] = { 'D', 'e', 'l', 'e', 't', 'e', 0 };
+static Rune LDotfiles[] = { 'D', 'o', 't', 'f', 'i', 'l', 'e', 's', 0 };
 static Rune LDump[] = { 'D', 'u', 'm', 'p', 0 };
 static Rune LEdit[] = { 'E', 'd', 'i', 't', 0 };
 static Rune LExit[] = { 'E', 'x', 'i', 't', 0 };
@@ -82,6 +84,7 @@
 	{ LDel,		del,		FALSE,	FALSE,	XXX		},
 	{ LDelcol,	delcol,	FALSE,	XXX,		XXX		},
 	{ LDelete,	del,		FALSE,	TRUE,	XXX		},
+	{ LDotfiles,	dotfiles,	FALSE,	XXX,	XXX	},
 	{ LDump,	dump,	FALSE,	TRUE,	XXX		},
 	{ LEdit,		edit,		FALSE,	XXX,		XXX		},
 	{ LExit,		xexit,		FALSE,	XXX,		XXX		},
@@ -365,6 +368,21 @@
 }
 
 void
+dotfiles(Text *et, Text *_0, Text *_1, int _2, int _3, Rune *_4, int _5)
+{
+	USED(_0);
+	USED(_1);
+	USED(_2);
+	USED(_3);
+	USED(_4);
+	USED(_5);
+	USED(et);
+
+	nodotfiles = !nodotfiles;
+	warning(nil, "%s dot files\n", nodotfiles ? "omitting" : "showing");
+}
+
+void
 sort(Text *et, Text *_0, Text *_1, int _2, int _3, Rune *_4, int _5)
 {
 	USED(_0);
diff --git a/src/cmd/acme/text.c b/src/cmd/acme/text.c
index 43463e9..7177127 100644
--- a/src/cmd/acme/text.c
+++ b/src/cmd/acme/text.c
@@ -224,6 +224,8 @@
 		dbuf = nil;
 		while((n=dirread(fd, &dbuf)) > 0){
 			for(i=0; i<n; i++){
+				if(nodotfiles && dbuf[i].name[0] == '.')
+					continue;
 				dl = emalloc(sizeof(Dirlist));
 				j = strlen(dbuf[i].name);
 				tmp = emalloc(j+1+1);
