Skip to content

Instantly share code, notes, and snippets.

@mickn
Created September 10, 2016 18:58
Show Gist options
  • Star 11 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save mickn/d964efea09931da7a92818f6fcb3432b to your computer and use it in GitHub Desktop.
Save mickn/d964efea09931da7a92818f6fcb3432b to your computer and use it in GitHub Desktop.
My Mutt Configuration (Gmail, Multiple Accounts, Not-Mutch Search, OfflineImap)
# Paths {{{
set folder = ~/Mail # mailbox location
set alias_file = ~/.mutt/alias # where to store aliases
set header_cache = ~/.mutt/cache/headers # where to store headers
set message_cachedir = ~/.mutt/cache/bodies # where to store bodies
set certificate_file = ~/.mutt/cerficates # where to store certs
set mailcap_path = ~/.mutt/mailcap # entries for filetypes
set tmpdir = ~/.mutt/temp # where to keep temp files
set signature = ~/.mutt/sig # my signature file
# }}}
# Basic Options {{{
set wait_key = no # shut up, mutt
set mbox_type = Maildir # mailbox type
set timeout = 0 # idle time before scanning
set mail_check = 0 # minimum time between scans
unset move # gmail does that
set delete # don't ask, just do
unset confirmappend # don't ask, just do!
set quit # don't ask, just do !!
unset mark_old # read/new is good enough for me
set beep_new # bell on new mails
set pipe_decode # strip headers and eval mimes when piping
set thorough_search # strip headers and eval mimes before searching
set recall=no # Don't ask to recall postponed message when Composing
set delete=yes # Don't ask to confirm purge deleted message on sync
unset record # Gmails SMTP already copies emails to Sent folder
# }}}
# Color Scheme {{{
#source ~/.mutt/themes/colors.muttrc
# source ~/.mutt/themes/tomorrow-night.muttrc
source ~/.mutt/themes/mutt-colors-solarized-dark-16.muttrc
# }}}
# Sidebar Patch {{{
set sidebar_visible = yes
set sidebar_delim = ' | '
set sidebar_width = 30
# set sidebar_delim_chars = "./"
color sidebar_new yellow default
# }}}
# Keybindings {{{
# Search keybindings
macro index s "<enter-command>unset wait_key<enter><shell-escape>mutt-notmuch-py ~/mail/mick-readmore/temporary/search<enter><change-folder-readonly>+temporary/search<enter>" "search mail (using notmuch)"
# Gmail style keybindings
bind editor <space> noop
bind index,pager c mail #Compose
bind index,pager e resend-message # Open a draft message for editing
bind generic x tag-entry #Select Conversation
bind index x tag-thread #Select Conversation
bind pager x tag-message #Select Conversation
macro index,pager + <save-message>=[Gmail]/Important<enter><enter> "Mark as important"
macro index,pager ! <save-message>=[Gmail]/Spam<enter><enter> "Report spam"
bind index,pager a group-reply #Reply all
bind index,pager \# delete-thread #Delete
#bind index,pager l copy-message #Label
macro index,pager I <set-flag>O "Mark as read"
macro index,pager U <clear-flag>O "Mark as unread"
macro index M "<save-message>?<toggle-mailboxes>" "move a message to a mailbox"
# }}}
# Pager {{{
set pager_index_lines = 10 # number of index lines to show
set pager_context = 3 # number of context lines to show
set pager_stop # don't go to next message automatically
set menu_scroll # scroll in menus
set tilde # show tildes like in vim
unset markers # no ugly plus signs
# }}}
# Status Bar {{{
set status_chars = " *%A"
## status_format - format of summary on the current folder in the index
## meta strings:
## -----f-h---lmn-p-rst-v---- lower case letters (10)
## ------------M----------X-- upper case letters (02)
## %d the number of messages with the flag 'delete' (v64)
## %f the full pathname of the current mailbox
## %h local hostname
## %l size (in bytes) of the current mailbox
## %m the number of messages in the mailbox
## %M the number of messages shown (i.e., which match the current limit)
## %n number of new messages in the mailbox
## %p number of postponed messages
## %s current sorting mode
## %r modified/read-only/won't-write/attach-message indicator-status_chars
## %t number of tagged messages
## %v Mutt version string
## %>X right justify the rest of the string and pad with "X"
## %|X pad to the end of the line with "X"
##
## %?<sequence_char>?<optional_string>? optionally print string, if>0
##
## Examples:
#set status_format="%v: %f (%s) [%?M/?%m] [flags:%?t tagged,?%n new%?p post?]"
#set status_format="%v: %f (%s) [%?M/?%m] [flags:%?t tagged,?%n new]"
#set status_format="%v: %f (%s) [%M/%m]\n[flags:n=%n,D=%d,t=%t,!=%F]"
#set status_format="%v: %f (%s) [%M/%m] [flags:n=%n,t=%t]"
#set status_format="%v: (%s) [%M/%m] [flags:n=%n,t=%t]"
#set status_format="%v: (%s) [%M/%m] [flags:n:%n,t:%t,p:%p]"
#set status_format="%v: (%s) [%M/%m] [flags:%?02n new?,t:%t]"
#set status_format="%v: %f (%s) [%M/%m] [flags:%n new,%?t tagged?]"
#set status_format="%v: %f (%s) [%M/%m;%l bytes] [N=%n,*=%t,post=%p]"
#set status_format="%v: %f (%s) [%M/%m] [N=%n,*=%t,post=%p,new=%b]"
#set status_format=" Msgs=%M(%m) [N=%n,O=%o,*=%t,p=%p] %> %r (%P) %h:%f [%l] (%s/%S) (%v) "
#set status_format = "Folder: %f : %r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)? %>-%?p?( %p postponed )? : "
set status_on_top = yes
set status_format = "Folder: %f : %r%n new (%m messages)%?d? (%d to delete)?%?t? (%t tagged)? %>-%?p?( %p postponed )? : "
# }}}
# Header Options {{{
ignore * # ignore all headers
unignore from: to: cc: date: subject: # show only these
unhdr_order * # some distros order things
hdr_order from: to: cc: date: subject: # and in this order
# }}}
# Account Settings {{{
# Multiple account setup.
# Default inbox.
set spoolfile = "+mick-readmore/INBOX"
# Set account specific options on folder change
folder-hook mick-personal/* source ~/.mutt/personal
folder-hook mick-readmore/* source ~/.mutt/readmore
# Mailboxes to show in the sidebar.
mailboxes "+-- Readmore---------------" \
+mick-readmore/INBOX \
+mick-readmore/@SaneLater \
+mick-readmore/@SaneBulk \
+mick-readmore/@SaneNews \
"+-- Mick---------------" \
+mick-personal/INBOX \
+mick-personal/@SaneLater \
+mick-personal/@SaneBulk \
+mick-personal/@SaneNews \
"+-- Misc.---------------" \
+mick-readmore/[Gmail].Spam \
+mick-personal/[Gmail].Spam \
# Other special folders
# set mbox = "+codeprole/archive"
# set postponed = "+codeprole/drafts"
# }}}
# Index View Options {{{
set date_format = %m.%d.%y"
set index_format = "[%Z] %D %-20.20F %s"
set sort = threads # like gmail
set sort_aux = reverse-last-date-received # like gmail
set uncollapse_jump # don't collapse on an unread message
set sort_re # thread based on regex
set reply_regexp = "^(([Rr][Ee]?(\[[0-9]+\])?: *)?(\[[^]]+\] *)?)*"
# }}}
# Index Key Bindings {{{
bind index gg first-entry
bind index G last-entry
bind index R group-reply
bind index <tab> sync-mailbox
bind index <space> collapse-thread
# Ctrl-R to mark all as read
macro index \Cr "T~U<enter><tag-prefix><clear-flag>N<untag-pattern>.<enter>" "mark all messages as read"
# Sync email
macro index O "<shell-escape>offlineimap<enter>" "run offlineimap to sync all mail"
macro index o "<shell-escape>offlineimap -qf INBOX<enter>" "run offlineimap to sync inbox"
# # Saner copy/move dialogs
# macro index C "<copy-message>?<toggle-mailboxes>" "copy a message to a mailbox"
# macro index M "<save-message>?<toggle-mailboxes>" "move a message to a mailbox"
# }}}
# Sidebar Navigation {{{
bind index,pager <down> sidebar-next
bind index,pager <up> sidebar-prev
bind index,pager <right> sidebar-open
# }}}
# Pager View Settings {{{
set pager_index_lines = 10 # number of lines to show
set pager_context = 3 # number of context lines to show
set pager_stop # don't go to the next message automatically
set menu_scroll # scroll in menus
set tilde # show tildes like in vim
unset markers # no ugly plus signs
set quote_regexp = "^( {0,4}[>|:#%]| {0,4}[a-z0-9]+[>|]+)+"
alternative_order text/plain text/enriched text/html
# Pager Key Bindings
bind pager k previous-line
bind pager j next-line
bind pager gg top
bind pager G bottom
bind pager R group-reply
# View attachments properly.
bind attach <return> view-mailcap
# Handle URLs.
macro pager \Cu "|urlview<enter>" "call urlview to open links"
# }}}
# Compose View Options {{{
set realname = "Mick Niepoth" # who am I?
set envelope_from # which from?
set sig_dashes # dashes before sig
set edit_headers # show headers when composing
set fast_reply # skip to compose when replying
# set askcc # ask for CC:
set fcc_attach # save attachments with the body
set mime_forward = ask-no # forward attachments as attachments
# unset mime_forward # forward attachments as a part of body
set forward_format = "Fwd: %s" # format of subject when forwarding
set forward_decode # decode when forwarding
set attribution = "On %d, %n wrote:" # format of quoting header
set reply_to # reply to Reply to: field
set reverse_name # reply as whoever it was to
set include # include message in reply
set forward_quote # include message in forwards
set editor = "vim +:silent+?^$" # use terminal Vim to compose email
set text_flowed = yes # eliminate odd line breaks
# set editor = "vim -c 'set spell spelllang=en' -c 'setlocal fo+=aw' +:silent+?^$"
# Postpone message
bind compose p postpone-message
bind index p recall-message
# Handle contacts
set query_command = "contacts -Sf '%eTOKEN%n' '%s' | sed -e 's/TOKEN/\t/g'"
bind editor <Tab> complete-query
bind editor ^T complete
# # based on gmail/mutt notes at:
# # http://www.techrepublic.com/blog/opensource/easy-gmail-reading-with-mutt/1737
# folder-hook personal/* 'source ~/Library/Mobile Documents/com~apple~CloudDocs/dotfiles/mutt/account.com.gmail.personal'
# folder-hook readmore/* 'source ~/Library/Mobile Documents/com~apple~CloudDocs/dotfiles/mutt/account.com.gmail.readmore'
# source ~/Library/Mobile\ Documents/com~apple~CloudDocs/dotfiles/mutt/account.com.gmail.readmore
# set smtp_authenticators = 'gssapi:login'
# set spoolfile="+INBOX"
# set imap_check_subscribed
# set hostname=gmail.com
# set mail_check=0 # minimum time between sca
# set timeout=3 # idle time before scanning
# #set record="+[Gmail]/Sent Mail"
# set postponed="+drafts"
# #set postponed="$HOME/Mail/postponed1"
# #set sendmail_wait = 0
# unset record
# set use_from=yes
# set use_envelope_from=yes
# unset beep_new
# set pipe_decode # strip headers and eval mimes when piping
# set thorough_search # strip headers and eval mimes before searching
# set delete # don't ask, just do
# unset confirmappend # don't ask, just do!
# set quit # don't ask, just do!!
# set editor = 'vim -f -c +/^$'
# set arrow_cursor
# set header_cache=~/.mail/cache/headers
# set message_cachedir=~/.mail/cache/bodies
# set certificate_file=~/.mail/certificates
# set implicit_autoview
# auto_view text/html
# set mailcap_path="~/.mailcap"
# set recall=no # Don't ask to recall postponed message when Composing
# set delete=yes # Don't ask to confirm purge deleted message on sync
# # Google Address Book
# set query_command="goobook query %s"
# macro index,pager a "<pipe-message>goobook add<return>" "add sender to google contacts"
# bind editor <Tab> complete-query
# # Compose View Options -------------------------------
# set envelope_from # which from?
# set sig_dashes # dashes before sig
# set edit_headers # show headers when composing
# set fast_reply # skip to compose when replying
# unset askcc # ask for CC:
# set fcc_attach # save attachments with the body
# unset mime_forward # forward attachments as part of body
# set forward_format = "Fwd: %s" # format of subject when forwarding
# set forward_decode # decode when forwarding
# set attribution = "On %d, %n wrote:" # format of quoting header
# set reply_to # reply to Reply to: field
# set reverse_name # reply as whomever it was to
# set include # include message in replies
# set forward_quote # include message in forwards
# # Use gmail IMAP IDLE support.
# set imap_idle
# set imap_check_subscribed
# unset imap_passive
# unset imap_peek
# # Search keybindings
# macro index s "<enter-command>unset wait_key<enter><shell-escape>mutt-notmuch-py ~/mail/mick-readmore/temporary/search<enter><change-folder-readonly>+temporary/search<enter>" "search mail (using notmuch)"
# # Gmail style keybindings
# bind editor <space> noop
# bind index,pager c mail #Compose
# bind index,pager e resend-message # Open a draft message for editing
# bind generic x tag-entry #Select Conversation
# bind index x tag-thread #Select Conversation
# bind pager x tag-message #Select Conversation
# macro index,pager + <save-message>=[Gmail]/Important<enter><enter> "Mark as important"
# macro index,pager ! <save-message>=[Gmail]/Spam<enter><enter> "Report spam"
# bind index,pager a group-reply #Reply all
# bind index,pager \# delete-thread #Delete
# #bind index,pager l copy-message #Label
# macro index,pager I <set-flag>O "Mark as read"
# macro index,pager U <clear-flag>O "Mark as unread"
# macro index M "<save-message>?<toggle-mailboxes>" "move a message to a mailbox"
# # Macros for switching accounts
# macro index <f2> '<sync-mailbox><enter-command>source ~/Library/Mobile\ Documents/com~apple~CloudDocs/dotfiles/mutt/account.com.gmail.personal<enter><change-folder>!<enter>'
# macro index <f3> '<sync-mailbox><enter-command>source ~/Library/Mobile\ Documents/com~apple~CloudDocs/dotfiles/mutt/account.com.gmail.readmore<enter><change-folder>!<enter>'
# bind compose p postpone-message
# # Sidebar Patch --------------------------------------
# #set sidebar_delim = ' │'
# set sidebar_visible = yes
# set sidebar_width = 24
# color sidebar_new color221 color233
# # Status Bar -----------------------------------------
# set status_chars = " *%A"
# set status_format = "───[ Folder: %f ]───[%r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)? ]───%>─%?p?( %p postponed )?───"
# # Sidebar Navigation ---------------------------------
# bind index,pager j sidebar-next
# bind index,pager k sidebar-prev
# bind index,pager l sidebar-open
# # Mailboxes to show in the sidebar.
# mailboxes +readmore/INBOX \
# "+-- Personal---------------" \
# +personal/INBOX \
# +@SaneLater \
# +@SaneNews \
# +@SaneBulk \
# +archive \
# +sent \
# +drafts \
# +temporary/search \
# # Pager View Options ---------------------------------
# set pager_index_lines = 10 # number of index lines to show
# set pager_context = 3 # number of context lines to show
# set pager_stop # don't go to next message automatically
# set menu_scroll # scroll in menus
# set tilde # show tildes like in vim
# unset markers # no ugly plus signs
# set quote_regexp = "^( {0,4}[>|:#%]| {0,4}[a-z0-9]+[>|]+)+"
# alternative_order text/plain text/enriched text/html
# # Index View Options ---------------------------------
# set date_format = "%m/%d %l:%M%p"
# set index_format = "[%Z] %D %-20.20F %s"
# set sort = threads # like gmail
# set sort_aux = reverse-last-date-received # like gmail
# set uncollapse_jump # don't collapse on an unread message
# set sort_re # thread based on regex
# set reply_regexp = "^(([Rr][Ee]?(\[[0-9]+\])?: *)?(\[[^]]+\] *)?)*"
# # Pager Key Bindings ---------------------------------
# bind pager <up> previous-line
# bind pager <down> next-line
# #bind pager <f4> top // These don't seem to work for some reason
# #bind pager <f5> bottom // These don't seem to work for some reason
# bind pager R group-reply
# # # View attachments properly.
# bind attach <return> view-mailcap
# # Header Options -------------------------------------
# ignore * # ignore all headers
# unignore from: to: cc: date: subject: # show only these
# unhdr_order * # some distros order things by default
# hdr_order from: to: cc: date: subject: # and in this order
# macro pager \Cu "|urlview<enter>" "call urlview to open links"
# # This should be ' »›-‹L' to match Gmail, but $to_chars breaks on unicode.
# set to_chars = ' +>-<L'
# # Don't move read mail.
# set move = no
# color normal brightyellow default
# color error red default
# color tilde black default
# color message cyan default
# color markers red white
# color attachment white default
# color search brightmagenta default
# #color status J_black J_status
# color status brightyellow black
# color indicator brightblack yellow
# color tree yellow default # arrow in threads
# # basic monocolor screen
# mono bold bold
# mono underline underline
# mono indicator reverse
# mono error bold
# # index ----------------------------------------------------------------
# color index red default "~A" # all messages
# color index brightred default "~E" # expired messages
# color index blue default "~N" # new messages
# color index blue default "~O" # old messages
# color index brightmagenta default "~Q" # messages that have been replied to
# color index brightgreen default "~R" # read messages
# color index blue default "~U" # unread messages
# color index blue default "~U~$" # unread, unreferenced messages
# color index brightyellow default "~v" # messages part of a collapsed thread
# color index brightyellow default "~P" # messages from me
# color index cyan default "~p!~F" # messages to me
# color index cyan default "~N~p!~F" # new messages to me
# color index cyan default "~U~p!~F" # unread messages to me
# color index brightgreen default "~R~p!~F" # messages to me
# color index red default "~F" # flagged messages
# color index red default "~F~p" # flagged messages to me
# color index red default "~N~F" # new flagged messages
# color index red default "~N~F~p" # new flagged messages to me
# color index red default "~U~F~p" # new flagged messages to me
# color index black red "~D" # deleted messages
# color index brightcyan default "~v~(!~N)" # collapsed thread with no unread
# color index yellow default "~v~(~N)" # collapsed thread with some unread
# color index green default "~N~v~(~N)" # collapsed thread with unread parent
# # statusbg used to indicated flagged when foreground color shows other status
# # for collapsed thread
# color index red black "~v~(~F)!~N" # collapsed thread with flagged, no unread
# color index yellow black "~v~(~F~N)" # collapsed thread with some unread & flagged
# color index green black "~N~v~(~F~N)" # collapsed thread with unread parent & flagged
# color index green black "~N~v~(~F)" # collapsed thread with unread parent, no unread inside, but some flagged
# color index cyan black "~v~(~p)" # collapsed thread with unread parent, no unread inside, some to me directly
# color index yellow red "~v~(~D)" # thread with deleted (doesn't differentiate between all or partial)
# #color index yellow default "~(~N)" # messages in threads with some unread
# #color index green default "~S" # superseded messages
# #color index red default "~T" # tagged messages
# #color index brightred red "~=" # duplicated messages
# # message headers ------------------------------------------------------
# #color header brightgreen default "^"
# color hdrdefault brightgreen default
# color header brightyellow default "^(From)"
# color header blue default "^(Subject)"
# # body -----------------------------------------------------------------
# color quoted blue default
# color quoted1 cyan default
# color quoted2 yellow default
# color quoted3 red default
# color quoted4 brightred default
# color signature brightgreen default
# color bold black default
# color underline black default
# color normal default default
# #
# color body brightcyan default "[;:][-o][)/(|]" # emoticons
# color body brightcyan default "[;:][)(|]" # emoticons
# color body brightcyan default "[*]?((N)?ACK|CU|LOL|SCNR|BRB|BTW|CWYL|\
# |FWIW|vbg|GD&R|HTH|HTHBE|IMHO|IMNSHO|\
# |IRL|RTFM|ROTFL|ROFL|YMMV)[*]?"
# color body brightcyan default "[ ][*][^*]*[*][ ]?" # more emoticon?
# color body brightcyan default "[ ]?[*][^*]*[*][ ]" # more emoticon?
# ## pgp
# color body red default "(BAD signature)"
# color body cyan default "(Good signature)"
# color body brightblack default "^gpg: Good signature .*"
# color body brightyellow default "^gpg: "
# color body brightyellow red "^gpg: BAD signature from.*"
# mono body bold "^gpg: Good signature"
# mono body bold "^gpg: BAD signature from.*"
# # yes, an insance URL regex
# color body red default "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]"
# # and a heavy handed email regex
# #color body J_magent default "((@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]),)*@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]):)?[0-9a-z_.+%$-]+@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\])"
# # Various smilies and the like
# #color body brightwhite default "<[Gg]>" # <g>
# #color body brightwhite default "<[Bb][Gg]>" # <bg>
# #color body yellow default " [;:]-*[})>{(<|]" # :-) etc...
# # *bold*
# #color body blue default "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)"
# #mono body bold "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)"
# # _underline_
# #color body blue default "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)"
# #mono body underline "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)"
# # /italic/ (Sometimes gets directory names)
# #color body blue default "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)"
# #mono body underline "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)"
# # Border lines.
# #color body blue default "( *[-+=#*~_]){6,}"
# #folder-hook . "color status J_black J_status "
# #folder-hook gmail/inbox "color status J_black yellow "
# #folder-hook gmail/important "color status J_black yellow "
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment