Update runtime files.
diff --git a/runtime/autoload/netrw_gitignore.vim b/runtime/autoload/netrw_gitignore.vim
index 0de902c..da3f50b 100644
--- a/runtime/autoload/netrw_gitignore.vim
+++ b/runtime/autoload/netrw_gitignore.vim
@@ -61,9 +61,16 @@
   " convert gitignore patterns to Netrw/Vim regex patterns
   let escaped_lines = []
   for line in gitignore_lines
-    let escaped       = line
-    let escaped       = substitute(escaped, '\.', '\\.', 'g')
-    let escaped       = substitute(escaped, '*', '.*', 'g')
+    let escaped = line
+    let escaped = substitute(escaped, '\*\*', '*', 'g')
+    let escaped = substitute(escaped, '\.', '\\.', 'g')
+    let escaped = substitute(escaped, '\$', '\\$', 'g')
+    let escaped = substitute(escaped, '*', '.*', 'g')
+    " correction: dot, dollar and asterisks chars shouldn't be escaped when
+    " within regex matching groups.
+    let escaped = substitute(escaped, '\(\[[^]]*\)\zs\\\.', '\.', 'g')
+    let escaped = substitute(escaped, '\(\[[^]]*\)\zs\\\$', '\$', 'g')
+    let escaped = substitute(escaped, '\(\[[^]]*\)\zs\.\*', '*', 'g')
     let escaped_lines = add(escaped_lines, escaped)
   endfor