Mercurial > dotfiles
changeset 384:92ae7310bb1b
Merge changes.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Wed, 09 Aug 2017 21:40:36 -0700 |
parents | ff48d206d1f1 (diff) bcf2b6fc4792 (current diff) |
children | 8bf3eed26496 89656bf503b2 |
files | .hgsub .hgsubstate |
diffstat | 10 files changed, 2374 insertions(+), 239 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgsub Tue Aug 08 21:48:09 2017 -0700 +++ b/.hgsub Wed Aug 09 21:40:36 2017 -0700 @@ -4,34 +4,37 @@ vim/bundle/ag = [git]https://github.com/rking/ag.vim.git vim/bundle/colorschemes = [git]https://github.com/flazz/vim-colorschemes.git +vim/bundle/commentary = [git]https://github.com/tpope/vim-commentary.git vim/bundle/ctrlp = [git]https://github.com/ludovicchabant/ctrlp.vim.git +vim/bundle/ctrlp-py-matcher = [git]https://github.com/ludovicchabant/ctrlp-py-matcher.git vim/bundle/easymotion = [git]https://github.com/Lokaltog/vim-easymotion.git +vim/bundle/fugitive = [git]https://github.com/tpope/vim-fugitive.git +vim/bundle/haml = [git]https://github.com/tpope/vim-haml.git +vim/bundle/interestingwords = [git]https://github.com/vasconcelloslf/vim-interestingwords.git +vim/bundle/jinja = [git]https://github.com/mitsuhiko/vim-jinja.git +vim/bundle/less = [git]https://github.com/groenewege/vim-less.git +vim/bundle/lightline = [git]https://github.com/itchyny/lightline.vim.git +vim/bundle/linediff = [git]https://github.com/AndrewRadev/linediff.vim.git +vim/bundle/markdown = [git]https://github.com/tpope/vim-markdown.git +vim/bundle/nerdtree = [git]https://github.com/scrooloose/nerdtree.git +vim/bundle/pathogen = [git]https://github.com/tpope/vim-pathogen.git vim/bundle/powerline = [git]https://github.com/Lokaltog/vim-powerline.git -vim/bundle/markdown = [git]https://github.com/tpope/vim-markdown.git -vim/bundle/surround = [git]https://github.com/tpope/vim-surround.git -vim/bundle/commentary = [git]https://github.com/tpope/vim-commentary.git +vim/bundle/projectroot = [git]https://github.com/dbakker/vim-projectroot.git +vim/bundle/python-pep8-indent = [git]https://github.com/hynek/vim-python-pep8-indent.git +vim/bundle/pythonmode = [git]https://github.com/klen/python-mode.git vim/bundle/ragtag = [git]https://github.com/tpope/vim-ragtag.git vim/bundle/repeat = [git]https://github.com/tpope/vim-repeat.git -vim/bundle/haml = [git]https://github.com/tpope/vim-haml.git +vim/bundle/scratch = [git]https://github.com/mtth/scratch.vim.git +vim/bundle/sleuth = [git]https://github.com/tpope/vim-sleuth.git +vim/bundle/solarized = [git]https://github.com/altercation/vim-colors-solarized.git vim/bundle/supertab = [git]https://github.com/ervandew/supertab.git -vim/bundle/nerdtree = [git]https://github.com/scrooloose/nerdtree.git -vim/bundle/vimroom = [git]https://github.com/mikewest/vimroom.git -vim/bundle/solarized = [git]https://github.com/altercation/vim-colors-solarized.git -vim/bundle/fugitive = [git]https://github.com/tpope/vim-fugitive.git -vim/bundle/pathogen = [git]https://github.com/tpope/vim-pathogen.git -vim/bundle/sleuth = [git]https://github.com/tpope/vim-sleuth.git +vim/bundle/surround = [git]https://github.com/tpope/vim-surround.git vim/bundle/syntastic = [git]https://github.com/scrooloose/syntastic.git -vim/bundle/less = [git]https://github.com/groenewege/vim-less.git +vim/bundle/tagbar = [git]https://github.com/majutsushi/tagbar.git +vim/bundle/todo.txt = [git]https://github.com/freitass/todo.txt-vim.git vim/bundle/twig = [git]https://github.com/beyondwords/vim-twig.git -vim/bundle/tagbar = [git]https://github.com/majutsushi/tagbar.git +vim/bundle/vimroom = [git]https://github.com/mikewest/vimroom.git vim/bundle/yankring = [git]https://github.com/vim-scripts/YankRing.vim.git -vim/bundle/linediff = [git]https://github.com/AndrewRadev/linediff.vim.git -vim/bundle/pythonmode = [git]https://github.com/klen/python-mode.git -vim/bundle/interestingwords = [git]https://github.com/vasconcelloslf/vim-interestingwords.git -vim/bundle/jinja = [git]https://github.com/mitsuhiko/vim-jinja.git -vim/bundle/python-pep8-indent = [git]https://github.com/hynek/vim-python-pep8-indent.git -vim/bundle/ctrlp-py-matcher = [git]https://github.com/ludovicchabant/ctrlp-py-matcher.git -vim/bundle/todo.txt = [git]https://github.com/freitass/todo.txt-vim.git vim/bundle/gutentags = https://bitbucket.org/ludovicchabant/vim-gutentags vim/bundle/lawrencium = https://bitbucket.org/ludovicchabant/vim-lawrencium
--- a/.hgsubstate Tue Aug 08 21:48:09 2017 -0700 +++ b/.hgsubstate Wed Aug 09 21:40:36 2017 -0700 @@ -1,11 +1,11 @@ 80a44033b7facf069ddb734fb4e908a95e681b6c lib/fish/virtualfish -3f8c4b4a5cc6e81c02974bd11126eae102eecb0a lib/hg/allpaths +03cc0603800e39d4c73ab965aca7f306e80ca8e1 lib/hg/allpaths 871944d0db5cc714bfee2bd6087c380d3ef6a96f lib/hg/fast-hg-prompt -fec6e12dedd8811869d1bb520cd26ce43cfd28ef lib/hg/hg-git +4d63f2eb60fd6399d5f50d4703d8ced8132ce359 lib/hg/hg-git 7d99080f276f49e3638ba13b4f5c1cd2dc4cc21f lib/hg/hg-git-sync 5334581e231a5167d03689ff47b3a6fdf082011c lib/hg/hg-prompt 1fc4a9fbead7e0acc4c828b346f3be2658ec3df9 lib/hg/mercurial-cli-templates -e723a35599f3636cb060cefc5ebb79788ce1c7dc lib/hg/mutable-history +21f06d9322316c9cc17eaebf5d4f40b9f24304f6 lib/hg/mutable-history d920e3425db554497a2cfaf1a2548eafbdc8b0e7 lib/hg/onsub 8e91a585024cdf2d14adaf548c21799edce0d6c0 lib/hg/path-pattern 2d9820cf595263bc7c651295b83f02525a23ca4a lib/hg/terse-status @@ -21,22 +21,25 @@ af9786ee5780bf0cbafbd7b341c2b5234d18c1c0 vim/bundle/easymotion f44845e4408aae03e018e98afb7fbf0c2ee87dd5 vim/bundle/fugitive 9dd2d48255fcc3ac5122f6028dc238fabcccd861 vim/bundle/gundo -02a94ff0db5771ac410577a7a6a6a761d6d23a60 vim/bundle/gutentags +f7a417234deadb6283bfb2c437d4f11cd2f7ab55 vim/bundle/gutentags 1f2e47c78c2faf90ff419c2f4e1241094844678c vim/bundle/haml adebc6ceae0aed69bb1cde7fb89058fb1546129e vim/bundle/interestingwords 8a8f0ed97c1751d304cf5b7241f2fe27b0e61f81 vim/bundle/jinja c9169233d45ae2f0fefa0feb9ee816a87c6b05c8 vim/bundle/lawrencium 6e818d5614d5fc18d95a48c92b89e6db39f9e3d6 vim/bundle/less +a63a00d548fd20457a4f31d31fb9c8fe8a7ebc2a vim/bundle/lightline 1633535197ad9757ac7f107e03b4d08e7d45d03d vim/bundle/linediff 3c2215bfed1de1251927fbc94b2631ca27c2958f vim/bundle/markdown 281701021c5001332a862da80175bf585d24e2e8 vim/bundle/nerdtree 020ab25c38f62627c1dab6c7a851176c6ad309f9 vim/bundle/pathogen af8514b79c046a6bb447021b81351edb050ac69f vim/bundle/piecrust 114f8e5c204f1cac9b2443065910fa182de39fb8 vim/bundle/powerline +432ce307b11ce9913aaf2f7594c57ca262ed63a5 vim/bundle/projectroot 8b215aac0192f74b5aeb6ae5a2e1766db2ebecb8 vim/bundle/python-pep8-indent 2f850dcf506af85be22365aebda6ff737e5f004e vim/bundle/pythonmode 9378cddc1c264f777af59f04e5b8d64eca8ee5fd vim/bundle/ragtag 7a6675f092842c8f81e71d5345bd7cdbf3759415 vim/bundle/repeat +1644a567c103c71e2f91bc9a362e906c515d6e4a vim/bundle/scratch 62c4f261874dd44e6cdc6788b4a6bc59f9dfe746 vim/bundle/sleuth 528a59f26d12278698bb946f8fb82a63711eec21 vim/bundle/solarized cdaa5c27c5a7f8b08a43d0b2e65929512299e33a vim/bundle/supertab
--- a/fish/config.fish Tue Aug 08 21:48:09 2017 -0700 +++ b/fish/config.fish Wed Aug 09 21:40:36 2017 -0700 @@ -128,7 +128,7 @@ # Virtualenv wrapper for Fish {{{ -eval (python -m virtualfish) +eval (/usr/local/bin/python2.7 -m virtualfish) #set -g VIRTUALFISH_COMPAT_ALIASES # uncomment for virtualenvwrapper-style commands #. $HOME/.config/fish/virtualfish/virtual.fish
--- a/git/gitconfig Tue Aug 08 21:48:09 2017 -0700 +++ b/git/gitconfig Wed Aug 09 21:40:36 2017 -0700 @@ -12,3 +12,9 @@ [include] path = gitconfig-local +[difftool "sourcetree"] + cmd = opendiff \"$LOCAL\" \"$REMOTE\" + path = +[mergetool "sourcetree"] + cmd = /Applications/SourceTree.app/Contents/Resources/opendiff-w.sh \"$LOCAL\" \"$REMOTE\" -ancestor \"$BASE\" -merge \"$MERGED\" + trustExitCode = true
--- a/install.cmd Tue Aug 08 21:48:09 2017 -0700 +++ b/install.cmd Wed Aug 09 21:40:36 2017 -0700 @@ -65,5 +65,5 @@ if not exist "%appdata%\Console" mkdir "%appdata%\Console" copy "%CWD%console.xml" "%appdata%\Console\console.xml" -setx GIT_SSH=%USERPROFILE%\Dropbox\Utilities\plink.exe +setx GIT_SSH %USERPROFILE%\Dropbox\Utilities\plink.exe
--- a/mutt/muttrc Tue Aug 08 21:48:09 2017 -0700 +++ b/mutt/muttrc Wed Aug 09 21:40:36 2017 -0700 @@ -40,6 +40,7 @@ set date_format = "%d/%m/%Y" # Show the date like you're civilized set index_format = "[%Z] %D %-20.20F %s" set collapse_unread +set text_flowed ignore "Authentication-Results:" ignore "DomainKey-Signature:"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/qutebrowser/keys.conf Wed Aug 09 21:40:36 2017 -0700 @@ -0,0 +1,680 @@ +# vim: ft=conf +# +# In this config file, qutebrowser's key bindings are configured. +# The format looks like this: +# +# [keymode] +# +# command +# keychain +# keychain2 +# ... +# +# All blank lines and lines starting with '#' are ignored. +# Inline-comments are not permitted. +# +# keymode is a comma separated list of modes in which the key binding should be +# active. If keymode starts with !, the key binding is active in all modes +# except the listed modes. +# +# For special keys (can't be part of a keychain), enclose them in `<`...`>`. +# For modifiers, you can use either `-` or `+` as delimiters, and these names: +# +# * Control: `Control`, `Ctrl` +# * Meta: `Meta`, `Windows`, `Mod4` +# * Alt: `Alt`, `Mod1` +# * Shift: `Shift` +# +# For simple keys (no `<>`-signs), a capital letter means the key is pressed +# with Shift. For special keys (with `<>`-signs), you need to explicitly add +# `Shift-` to match a key pressed with shift. +# +# Note that default keybindings are always bound, and need to be explicitly +# unbound if you wish to remove them: +# +# <unbound> +# keychain +# keychain2 +# ... + +[!normal] + +leave-mode + <escape> + <ctrl-[> + +[normal] +# Keybindings for normal mode. + +clear-keychain ;; search ;; fullscreen --leave + <escape> + <ctrl-[> + +set-cmd-text -s :open + o + +set-cmd-text :open {url:pretty} + go + O + +set-cmd-text :open -t -i {url:pretty} + gO + +set-cmd-text -s :open -b + xo + +set-cmd-text :open -b -i {url:pretty} + xO + +set-cmd-text / + / + +set-cmd-text ? + ? + +set-cmd-text : + : + +open -t + ga + <ctrl-t> + +open -w + <ctrl-n> + +tab-close + d + <ctrl-w> + +tab-close -o + D + +tab-only + co + +tab-move + gm + +tab-next + <ctrl-pgdown> + K + +tab-prev + <ctrl-pgup> + J + +tab-clone + gC + +reload + r + <f5> + +reload -f + R + <ctrl-f5> + +back + H + <back> + +forward + L + <forward> + +fullscreen + <f11> + +hint + f + +hint all tab + F + +hint all tab-bg + ;b + +hint all tab-fg + ;f + +hint all hover + ;h + +hint images + ;i + +hint images tab + ;I + +hint links fill :open {hint-url} + ;o + +hint links fill :open -t -i {hint-url} + ;O + +hint links yank + ;y + +hint links yank-primary + ;Y + +hint --rapid links tab-bg + ;r + +hint --rapid links window + ;R + +hint links download + ;d + +hint inputs + ;t + +scroll left + h + +scroll right + l + +undo + u + <ctrl-shift-t> + +scroll-perc 0 + gg + +scroll-perc + G + +search-next + n + +search-prev + N + +enter-mode insert + i + +enter-mode caret + v + +enter-mode set_mark + ` + +enter-mode jump_mark + ' + +yank + yy + +yank -s + yY + +yank title + yt + +yank title -s + yT + +yank domain + yd + +yank domain -s + yD + +yank pretty-url + yp + +yank pretty-url -s + yP + +open -- {clipboard} + pp + +open -- {primary} + pP + +open -t -- {clipboard} + Pp + +open -t -- {primary} + PP + +quickmark-save + m + +set-cmd-text -s :quickmark-load + b + +set-cmd-text -s :quickmark-load -t + B + +bookmark-add + M + +set-cmd-text -s :bookmark-load + gb + +set-cmd-text -s :bookmark-load -t + gB + +save + sf + +set-cmd-text -s :set + ss + +set-cmd-text -s :set -t + sl + +set-cmd-text -s :bind + sk + +zoom-out + - + +zoom-in + + + +zoom + = + +navigate prev + [[ + +navigate next + ]] + +navigate prev -t + {{ + +navigate next -t + }} + +navigate up + gu + +navigate up -t + gU + +navigate increment + <ctrl-a> + +navigate decrement + <ctrl-x> + +download + gd + +download-cancel + ad + +download-clear + cd + +view-source + gf + +set-cmd-text -s :buffer + gt + +tab-focus last + <ctrl-tab> + +enter-mode passthrough + <ctrl-v> + +quit + <ctrl-q> + +scroll-page 0 1 + <ctrl-f> + +scroll-page 0 -1 + <ctrl-b> + +scroll-page 0 0.5 + <ctrl-d> + +scroll-page 0 -0.5 + <ctrl-u> + +tab-focus 1 + <alt-1> + +tab-focus 2 + <alt-2> + +tab-focus 3 + <alt-3> + +tab-focus 4 + <alt-4> + +tab-focus 5 + <alt-5> + +tab-focus 6 + <alt-6> + +tab-focus 7 + <alt-7> + +tab-focus 8 + <alt-8> + +tab-focus 9 + <alt-9> + +home + <ctrl-h> + +stop + <ctrl-s> + +print + <ctrl-alt-p> + +open qute:settings + Ss + +follow-selected + <return> + <ctrl-m> + <ctrl-j> + <shift-return> + <enter> + <shift-enter> + +follow-selected -t + <ctrl-return> + <ctrl-enter> + +repeat-command + . + +record-macro + q + +run-macro + @ + +set-cmd-text -s :open -t + t + +<unbound> + th + wh + tl + wl + gl + gr + wp + wP + wb + wB + wi + wo + wO + wf + +tab-move - + < + +tab-move + + > + +set-cmd-text -s :open -w + w + +set-cmd-text :open -t {url:pretty} + T + +set-cmd-text :open -w {url:pretty} + W + +run-with-count 3 scroll down + j + +run-with-count 3 scroll up + k + +[insert] +# Keybindings for insert mode. +# Since normal keypresses are passed through, only special keys are +# supported in this mode. +# Useful hidden commands to map in this section: +# * `open-editor`: Open a texteditor with the focused field. +# * `paste-primary`: Paste primary selection at cursor position. + +open-editor + <ctrl-e> + +insert-text {primary} + <shift-ins> + +[hint] +# Keybindings for hint mode. +# Since normal keypresses are passed through, only special keys are +# supported in this mode. +# Useful hidden commands to map in this section: +# * `follow-hint`: Follow the currently selected hint. + +follow-hint + <return> + <ctrl-m> + <ctrl-j> + <shift-return> + <enter> + <shift-enter> + +hint --rapid links tab-bg + <ctrl-r> + +hint links + <ctrl-f> + +hint all tab-bg + <ctrl-b> + +[command] +# Keybindings for command mode. +# Since normal keypresses are passed through, only special keys are +# supported in this mode. +# Useful hidden commands to map in this section: +# * `command-history-prev`: Switch to previous command in history. +# * `command-history-next`: Switch to next command in history. +# * `completion-item-focus`: Select another item in completion. +# * `command-accept`: Execute the command currently in the commandline. + +command-history-prev + <ctrl-p> + +command-history-next + <ctrl-n> + +completion-item-focus prev + <shift-tab> + <up> + +completion-item-focus next + <tab> + <down> + +completion-item-focus next-category + <ctrl-tab> + +completion-item-focus prev-category + <ctrl-shift-tab> + +completion-item-del + <ctrl-d> + +command-accept + <return> + <ctrl-m> + <ctrl-j> + <shift-return> + <enter> + <shift-enter> + +[prompt] +# Keybindings for prompts in the status line. +# You can bind normal keys in this mode, but they will be only active +# when a yes/no-prompt is asked. For other prompt modes, you can only +# bind special keys. +# Useful hidden commands to map in this section: +# * `prompt-accept`: Confirm the entered value. +# * `prompt-accept yes`: Answer yes to a yes/no question. +# * `prompt-accept no`: Answer no to a yes/no question. + +prompt-accept + <return> + <ctrl-m> + <ctrl-j> + <shift-return> + <enter> + <shift-enter> + +prompt-accept yes + y + +prompt-accept no + n + +prompt-open-download + <ctrl-x> + +prompt-item-focus prev + <shift-tab> + <up> + +prompt-item-focus next + <tab> + <down> + +[command,prompt] + +rl-backward-char + <ctrl-b> + +rl-forward-char + <ctrl-f> + +rl-backward-word + <alt-b> + +rl-forward-word + <alt-f> + +rl-beginning-of-line + <ctrl-a> + +rl-end-of-line + <ctrl-e> + +rl-unix-line-discard + <ctrl-u> + +rl-kill-line + <ctrl-k> + +rl-kill-word + <alt-d> + +rl-unix-word-rubout + <ctrl-w> + +rl-backward-kill-word + <alt-backspace> + +rl-yank + <ctrl-y> + +rl-delete-char + <ctrl-?> + +rl-backward-delete-char + <ctrl-h> + +[caret] + +toggle-selection + v + <space> + +drop-selection + <ctrl-space> + +enter-mode normal + c + +move-to-next-line + j + +move-to-prev-line + k + +move-to-next-char + l + +move-to-prev-char + h + +move-to-end-of-word + e + +move-to-next-word + w + +move-to-prev-word + b + +move-to-start-of-next-block + ] + +move-to-start-of-prev-block + [ + +move-to-end-of-next-block + } + +move-to-end-of-prev-block + { + +move-to-start-of-line + 0 + +move-to-end-of-line + $ + +move-to-start-of-document + gg + +move-to-end-of-document + G + +yank selection -s + Y + +yank selection + y + <return> + <ctrl-m> + <ctrl-j> + <shift-return> + <enter> + <shift-enter> + +scroll left + H + +scroll down + J + +scroll up + K + +scroll right + L +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/qutebrowser/qutebrowser.conf Wed Aug 09 21:40:36 2017 -0700 @@ -0,0 +1,1570 @@ +# vim: ft=dosini + +# Configfile for qutebrowser. +# +# This configfile is parsed by python's configparser in extended +# interpolation mode. The format is very INI-like, so there are +# categories like [general] with "key = value"-pairs. +# +# Note that you shouldn't add your own comments, as this file is +# regenerated every time the config is saved. +# +# Interpolation looks like ${value} or ${section:value} and will be +# replaced by the respective value. +# +# Some settings will expand environment variables. Note that, since +# interpolation is run first, you will need to escape the $ char as +# described below. +# +# This is the default config, so if you want to remove anything from +# here (as opposed to change/add), for example a key binding, set it to +# an empty value. +# +# You will need to escape the following values: +# - # at the start of the line (at the first position of the key) (\#) +# - $ in a value ($$) + +[general] +# General/miscellaneous options. +# +# ignore-case (IgnoreCase): +# Whether to find text on a page case-insensitively. +# true: Search case-insensitively +# false: Search case-sensitively +# smart: Search case-sensitively if there are capital chars +# Default: smart +# +# startpage (List of String): +# The default page(s) to open at the start, separated by commas. +# Default: https://start.duckduckgo.com +# +# yank-ignored-url-parameters (List of String): +# The URL parameters to strip with :yank url, separated by commas. +# Default: +# ref,utm_source,utm_medium,utm_campaign,utm_term,utm_content +# +# default-open-dispatcher (String): +# The default program used to open downloads. Set to an empty string +# to use the default internal handler. +# Any {} in the string will be expanded to the filename, else the +# filename will be appended. +# Default: +# +# default-page (FuzzyUrl): +# The page to open if :open -t/-b/-w is used without URL. Use +# `about:blank` for a blank page. +# Default: ${startpage} +# +# auto-search (AutoSearch): +# Whether to start a search when something else than a URL is +# entered. +# naive: Use simple/naive check. +# dns: Use DNS requests (might be slow!). +# false: Never search automatically. +# Default: naive +# +# auto-save-config (Bool): +# Whether to save the config automatically on quit. +# Valid values: true, false +# Default: true +# +# auto-save-interval (Int): +# How often (in milliseconds) to auto-save config/cookies/etc. +# Default: 15000 +# +# editor (ShellCommand): +# The editor (and arguments) to use for the `open-editor` command. +# The arguments get split like in a shell, so you can use `"` or `'` +# to quote them. +# `{}` gets replaced by the filename of the file to be edited. +# Default: gvim -f "{}" +# +# editor-encoding (Encoding): +# Encoding to use for editor. +# Default: utf-8 +# +# private-browsing (Bool): +# Do not record visited pages in the history or store web page +# icons. +# Valid values: true, false +# Default: false +# +# developer-extras (Bool): +# Enable extra tools for Web developers. +# This needs to be enabled for `:inspector` to work and also adds an +# _Inspect_ entry to the context menu. For QtWebEngine, see +# 'qutebrowser --help' instead. +# Valid values: true, false +# Default: false +# +# print-element-backgrounds (Bool): +# Whether the background color and images are also drawn when the +# page is printed. +# This setting only works with Qt 5.8 or newer when using the +# QtWebEngine backend. +# Valid values: true, false +# Default: true +# +# xss-auditing (Bool): +# Whether load requests should be monitored for cross-site scripting +# attempts. +# Suspicious scripts will be blocked and reported in the inspector's +# JavaScript console. Enabling this feature might have an impact on +# performance. +# Valid values: true, false +# Default: false +# +# site-specific-quirks (Bool): +# Enable QtWebKit workarounds for broken sites. +# Valid values: true, false +# Default: true +# +# default-encoding (String): +# Default encoding to use for websites. +# The encoding must be a string describing an encoding such as +# _utf-8_, _iso-8859-1_, etc. If left empty a default value will be +# used. +# Default: +# +# new-instance-open-target (String): +# How to open links in an existing instance if a new one is +# launched. +# tab: Open a new tab in the existing window and activate the +# window. +# tab-bg: Open a new background tab in the existing window and +# activate the window. +# tab-silent: Open a new tab in the existing window without +# activating the window. +# tab-bg-silent: Open a new background tab in the existing +# window without activating the window. +# window: Open in a new window. +# Default: tab +# +# new-instance-open-target.window (String): +# Which window to choose when opening links as new tabs. +# first-opened: Open new tabs in the first (oldest) opened +# window. +# last-opened: Open new tabs in the last (newest) opened window. +# last-focused: Open new tabs in the most recently focused +# window. +# last-visible: Open new tabs in the most recently visible +# window. +# Default: last-focused +# +# log-javascript-console (String): +# How to log javascript console messages. +# none: Don't log messages. +# debug: Log messages with debug level. +# info: Log messages with info level. +# Default: debug +# +# save-session (Bool): +# Whether to always save the open pages. +# Valid values: true, false +# Default: false +# +# session-default-name (SessionName): +# The name of the session to save by default, or empty for the last +# loaded session. +# Default: +# +# url-incdec-segments (FlagList): +# The URL segments where `:navigate increment/decrement` will search +# for a number. +# Valid values: host, path, query, anchor +# Default: path,query +ignore-case = smart +startpage = https://start.duckduckgo.com +yank-ignored-url-parameters = ref,utm_source,utm_medium,utm_campaign,utm_term,utm_content +default-open-dispatcher = +default-page = ${startpage} +auto-search = naive +auto-save-config = true +auto-save-interval = 15000 +editor = gvim -f "{}" +editor-encoding = utf-8 +private-browsing = false +developer-extras = false +print-element-backgrounds = true +xss-auditing = false +site-specific-quirks = true +default-encoding = +new-instance-open-target = tab +new-instance-open-target.window = last-focused +log-javascript-console = debug +save-session = false +session-default-name = +url-incdec-segments = path,query + +[ui] +# General options related to the user interface. +# +# zoom-levels (List of Perc): +# The available zoom levels, separated by commas. +# Default: +# 25%,33%,50%,67%,75%,90%,100%,110%,125%,150%,175%,200%,250%,300%,400%,500% +# +# default-zoom (Perc): +# The default zoom level. +# Default: 100% +# +# downloads-position (VerticalPosition): +# Where to show the downloaded files. +# Valid values: top, bottom +# Default: top +# +# status-position (VerticalPosition): +# The position of the status bar. +# Valid values: top, bottom +# Default: bottom +# +# message-timeout (Int): +# Time (in ms) to show messages in the statusbar for. +# Default: 2000 +# +# message-unfocused (Bool): +# Whether to show messages in unfocused windows. +# Valid values: true, false +# Default: false +# +# confirm-quit (ConfirmQuit): +# Whether to confirm quitting the application. +# always: Always show a confirmation. +# multiple-tabs: Show a confirmation if multiple tabs are +# opened. +# downloads: Show a confirmation if downloads are running +# never: Never show a confirmation. +# Default: never +# +# zoom-text-only (Bool): +# Whether the zoom factor on a frame applies only to the text or to +# all content. +# Valid values: true, false +# Default: false +# +# frame-flattening (Bool): +# Whether to expand each subframe to its contents. +# This will flatten all the frames to become one scrollable page. +# Valid values: true, false +# Default: false +# +# user-stylesheet (File): +# User stylesheet to use (absolute filename or filename relative to +# the config directory). Will expand environment variables. +# Default: +# +# hide-scrollbar (Bool): +# Hide the main scrollbar. +# Valid values: true, false +# Default: true +# +# css-media-type (String): +# Set the CSS media type. +# Default: +# +# smooth-scrolling (Bool): +# Whether to enable smooth scrolling for webpages. +# Valid values: true, false +# Default: false +# +# remove-finished-downloads (Int): +# Number of milliseconds to wait before removing finished downloads. +# Will not be removed if value is -1. +# Default: -1 +# +# hide-statusbar (Bool): +# Whether to hide the statusbar unless a message is shown. +# Valid values: true, false +# Default: false +# +# statusbar-padding (Padding): +# Padding for statusbar (top, bottom, left, right). +# Default: 1,1,0,0 +# +# window-title-format (FormatString): +# The format to use for the window title. The following placeholders +# are defined: +# * `{perc}`: The percentage as a string like `[10%]`. +# * `{perc_raw}`: The raw percentage, e.g. `10` +# * `{title}`: The title of the current web page +# * `{title_sep}`: The string ` - ` if a title is set, empty +# otherwise. +# * `{id}`: The internal window ID of this window. +# * `{scroll_pos}`: The page scroll position. +# * `{host}`: The host of the current web page. +# * `{backend}`: Either 'webkit' or 'webengine' +# Default: {perc}{title}{title_sep}qutebrowser +# +# modal-js-dialog (Bool): +# Use standard JavaScript modal dialog for alert() and confirm() +# Valid values: true, false +# Default: false +# +# hide-wayland-decoration (Bool): +# Hide the window decoration when using wayland (requires restart) +# Valid values: true, false +# Default: false +# +# keyhint-blacklist (List of String): +# Keychains that shouldn't be shown in the keyhint dialog +# Globs are supported, so ';*' will blacklist all keychainsstarting +# with ';'. Use '*' to disable keyhints +# Default: +# +# prompt-radius (Int): +# The rounding radius for the edges of prompts. +# Default: 8 +# +# prompt-filebrowser (Bool): +# Show a filebrowser in upload/download prompts. +# Valid values: true, false +# Default: true +zoom-levels = 25%,33%,50%,67%,75%,90%,100%,110%,125%,150%,175%,200%,250%,300%,400%,500% +default-zoom = 100% +downloads-position = top +status-position = bottom +message-timeout = 2000 +message-unfocused = false +confirm-quit = never +zoom-text-only = false +frame-flattening = false +user-stylesheet = +hide-scrollbar = true +css-media-type = +smooth-scrolling = false +remove-finished-downloads = -1 +hide-statusbar = false +statusbar-padding = 1,1,0,0 +window-title-format = {perc}{title}{title_sep}qutebrowser +modal-js-dialog = false +hide-wayland-decoration = false +keyhint-blacklist = +prompt-radius = 8 +prompt-filebrowser = true + +[network] +# Settings related to the network. +# +# do-not-track (Bool): +# Value to send in the `DNT` header. +# Valid values: true, false +# Default: true +# +# accept-language (String): +# Value to send in the `accept-language` header. +# Default: en-US,en +# +# referer-header (String): +# Send the Referer header +# always: Always send. +# never: Never send; this is not recommended, as some sites may +# break. +# same-domain: Only send for the same domain. This will still +# protect your privacy, but shouldn't break any sites. +# Default: same-domain +# +# user-agent (UserAgent): +# User agent to send. Empty to send the default. +# Default: +# +# proxy (Proxy): +# The proxy to use. +# In addition to the listed values, you can use a `socks://...` or +# `http://...` URL. +# This setting only works with Qt 5.8 or newer when using the +# QtWebEngine backend. +# system: Use the system wide proxy. +# none: Don't use any proxy +# Default: system +# +# proxy-dns-requests (Bool): +# Whether to send DNS requests over the configured proxy. +# Valid values: true, false +# Default: true +# +# ssl-strict (BoolAsk): +# Whether to validate SSL handshakes. +# Valid values: true, false, ask +# Default: ask +# +# dns-prefetch (Bool): +# Whether to try to pre-fetch DNS entries to speed up browsing. +# Valid values: true, false +# Default: true +# +# custom-headers (HeaderDict): +# Set custom headers for qutebrowser HTTP requests. +# Default: +# +# netrc-file (File): +# Set location of a netrc-file for HTTP authentication. If empty, +# ~/.netrc is used. +# Default: +do-not-track = true +accept-language = en-US,en +referer-header = same-domain +user-agent = +proxy = system +proxy-dns-requests = true +ssl-strict = ask +dns-prefetch = true +custom-headers = +netrc-file = + +[completion] +# Options related to completion and command history. +# +# show (String): +# When to show the autocompletion window. +# always: Whenever a completion is available. +# auto: Whenever a completion is requested. +# never: Never. +# Default: always +# +# download-path-suggestion (String): +# What to display in the download filename input. +# path: Show only the download path. +# filename: Show only download filename. +# both: Show download path and filename. +# Default: path +# +# timestamp-format (TimestampTemplate): +# How to format timestamps (e.g. for history) +# Default: %Y-%m-%d +# +# height (PercOrInt): +# The height of the completion, in px or as percentage of the +# window. +# Default: 50% +# +# cmd-history-max-items (Int): +# How many commands to save in the command history. +# 0: no history / -1: unlimited +# Default: 100 +# +# web-history-max-items (Int): +# How many URLs to show in the web history. +# 0: no history / -1: unlimited +# Default: 1000 +# +# quick-complete (Bool): +# Whether to move on to the next part when there's only one possible +# completion left. +# Valid values: true, false +# Default: true +# +# shrink (Bool): +# Whether to shrink the completion to be smaller than the configured +# size if there are no scrollbars. +# Valid values: true, false +# Default: false +# +# scrollbar-width (Int): +# Width of the scrollbar in the completion window (in px). +# Default: 12 +# +# scrollbar-padding (Int): +# Padding of scrollbar handle in completion window (in px). +# Default: 2 +show = always +download-path-suggestion = path +timestamp-format = %Y-%m-%d +height = 50% +cmd-history-max-items = 100 +web-history-max-items = 1000 +quick-complete = true +shrink = false +scrollbar-width = 12 +scrollbar-padding = 2 + +[input] +# Options related to input modes. +# +# timeout (Int): +# Timeout (in milliseconds) for ambiguous key bindings. +# If the current input forms both a complete match and a partial +# match, the complete match will be executed after this time. +# Default: 500 +# +# partial-timeout (Int): +# Timeout (in milliseconds) for partially typed key bindings. +# If the current input forms only partial matches, the keystring +# will be cleared after this time. +# Default: 5000 +# +# insert-mode-on-plugins (Bool): +# Whether to switch to insert mode when clicking flash and other +# plugins. +# Valid values: true, false +# Default: false +# +# auto-leave-insert-mode (Bool): +# Whether to leave insert mode if a non-editable element is clicked. +# Valid values: true, false +# Default: true +# +# auto-insert-mode (Bool): +# Whether to automatically enter insert mode if an editable element +# is focused after page load. +# Valid values: true, false +# Default: false +# +# forward-unbound-keys (String): +# Whether to forward unbound keys to the webview in normal mode. +# all: Forward all unbound keys. +# auto: Forward unbound non-alphanumeric keys. +# none: Don't forward any keys. +# Default: auto +# +# spatial-navigation (Bool): +# Enables or disables the Spatial Navigation feature. +# Spatial navigation consists in the ability to navigate between +# focusable elements in a Web page, such as hyperlinks and form +# controls, by using Left, Right, Up and Down arrow keys. For +# example, if a user presses the Right key, heuristics determine +# whether there is an element he might be trying to reach towards +# the right and which element he probably wants. +# Valid values: true, false +# Default: false +# +# links-included-in-focus-chain (Bool): +# Whether hyperlinks should be included in the keyboard focus chain. +# Valid values: true, false +# Default: true +# +# rocker-gestures (Bool): +# Whether to enable Opera-like mouse rocker gestures. This disables +# the context menu. +# Valid values: true, false +# Default: false +# +# mouse-zoom-divider (Int): +# How much to divide the mouse wheel movements to translate them +# into zoom increments. +# Default: 512 +timeout = 500 +partial-timeout = 5000 +insert-mode-on-plugins = false +auto-leave-insert-mode = true +auto-insert-mode = true +forward-unbound-keys = auto +spatial-navigation = false +links-included-in-focus-chain = true +rocker-gestures = false +mouse-zoom-divider = 512 + +[tabs] +# Configuration of the tab bar. +# +# background-tabs (Bool): +# Whether to open new tabs (middleclick/ctrl+click) in background. +# Valid values: true, false +# Default: false +# +# select-on-remove (SelectOnRemove): +# Which tab to select when the focused tab is removed. +# prev: Select the tab which came before the closed one (left in +# horizontal, above in vertical). +# next: Select the tab which came after the closed one (right in +# horizontal, below in vertical). +# last-used: Select the previously selected tab. +# Default: next +# +# new-tab-position (NewTabPosition): +# How new tabs are positioned. +# prev: Before the current tab. +# next: After the current tab. +# first: At the beginning. +# last: At the end. +# Default: next +# +# new-tab-position-explicit (NewTabPosition): +# How new tabs opened explicitly are positioned. +# prev: Before the current tab. +# next: After the current tab. +# first: At the beginning. +# last: At the end. +# Default: last +# +# last-close (String): +# Behavior when the last tab is closed. +# ignore: Don't do anything. +# blank: Load a blank page. +# startpage: Load the start page. +# default-page: Load the default page. +# close: Close the window. +# Default: ignore +# +# show (String): +# When to show the tab bar +# always: Always show the tab bar. +# never: Always hide the tab bar. +# multiple: Hide the tab bar if only one tab is open. +# switching: Show the tab bar when switching tabs. +# Default: always +# +# show-switching-delay (Int): +# Time to show the tab bar before hiding it when tabs->show is set +# to 'switching'. +# Default: 800 +# +# wrap (Bool): +# Whether to wrap when changing tabs. +# Valid values: true, false +# Default: true +# +# movable (Bool): +# Whether tabs should be movable. +# Valid values: true, false +# Default: true +# +# close-mouse-button (String): +# On which mouse button to close tabs. +# right: Close tabs on right-click. +# middle: Close tabs on middle-click. +# none: Don't close tabs using the mouse. +# Default: middle +# +# position (Position): +# The position of the tab bar. +# Valid values: top, bottom, left, right +# Default: top +# +# show-favicons (Bool): +# Whether to show favicons in the tab bar. +# Valid values: true, false +# Default: true +# +# width (PercOrInt): +# The width of the tab bar if it's vertical, in px or as percentage +# of the window. +# Default: 20% +# +# indicator-width (Int): +# Width of the progress indicator (0 to disable). +# Default: 3 +# +# tabs-are-windows (Bool): +# Whether to open windows instead of tabs. +# Valid values: true, false +# Default: false +# +# title-format (FormatString): +# The format to use for the tab title. The following placeholders +# are defined: +# * `{perc}`: The percentage as a string like `[10%]`. +# * `{perc_raw}`: The raw percentage, e.g. `10` +# * `{title}`: The title of the current web page +# * `{title_sep}`: The string ` - ` if a title is set, empty +# otherwise. +# * `{index}`: The index of this tab. +# * `{id}`: The internal tab ID of this tab. +# * `{scroll_pos}`: The page scroll position. +# * `{host}`: The host of the current web page. +# * `{backend}`: Either 'webkit' or 'webengine' +# Default: {index}: {title} +# +# title-alignment (TextAlignment): +# Alignment of the text inside of tabs +# Valid values: left, right, center +# Default: left +# +# mousewheel-tab-switching (Bool): +# Switch between tabs using the mouse wheel. +# Valid values: true, false +# Default: true +# +# padding (Padding): +# Padding for tabs (top, bottom, left, right). +# Default: 0,0,5,5 +# +# indicator-padding (Padding): +# Padding for indicators (top, bottom, left, right). +# Default: 2,2,0,4 +background-tabs = true +select-on-remove = next +new-tab-position = next +new-tab-position-explicit = last +last-close = blank +show = always +show-switching-delay = 800 +wrap = true +movable = true +close-mouse-button = middle +position = top +show-favicons = true +width = 20% +indicator-width = 3 +tabs-are-windows = false +title-format = {index}: {title} +title-alignment = left +mousewheel-tab-switching = true +padding = 0,0,5,5 +indicator-padding = 2,2,0,4 + +[storage] +# Settings related to cache and storage. +# +# download-directory (Directory): +# The directory to save downloads to. An empty value selects a +# sensible os-specific default. Will expand environment variables. +# Default: +# +# prompt-download-directory (Bool): +# Whether to prompt the user for the download location. +# If set to false, 'download-directory' will be used. +# Valid values: true, false +# Default: true +# +# remember-download-directory (Bool): +# Whether to remember the last used download directory. +# Valid values: true, false +# Default: true +# +# maximum-pages-in-cache (Int): +# The maximum number of pages to hold in the global memory page +# cache. +# The Page Cache allows for a nicer user experience when navigating +# forth or back to pages in the forward/back history, by pausing and +# resuming up to _n_ pages. +# For more information about the feature, please refer to: +# http://webkit.org/blog/427/webkit-page-cache-i-the-basics/ +# Default: +# +# object-cache-capacities (List of WebKitBytes): +# The capacities for the global memory cache for dead objects such +# as stylesheets or scripts. Syntax: cacheMinDeadCapacity, +# cacheMaxDead, totalCapacity. +# The _cacheMinDeadCapacity_ specifies the minimum number of bytes +# that dead objects should consume when the cache is under pressure. +# _cacheMaxDead_ is the maximum number of bytes that dead objects +# should consume when the cache is *not* under pressure. +# _totalCapacity_ specifies the maximum number of bytes that the +# cache should consume *overall*. +# Default: +# +# offline-storage-default-quota (WebKitBytes): +# Default quota for new offline storage databases. +# Default: +# +# offline-web-application-cache-quota (WebKitBytes): +# Quota for the offline web application cache. +# Default: +# +# offline-storage-database (Bool): +# Whether support for the HTML 5 offline storage feature is enabled. +# Valid values: true, false +# Default: true +# +# offline-web-application-storage (Bool): +# Whether support for the HTML 5 web application cache feature is +# enabled. +# An application cache acts like an HTTP cache in some sense. For +# documents that use the application cache via JavaScript, the +# loader engine will first ask the application cache for the +# contents, before hitting the network. +# The feature is described in details at: +# http://dev.w3.org/html5/spec/Overview.html#appcache +# Valid values: true, false +# Default: true +# +# local-storage (Bool): +# Whether support for the HTML 5 local storage feature is enabled. +# Valid values: true, false +# Default: true +# +# cache-size (Int): +# Size of the HTTP network cache. Empty to use the default value. +# Default: +download-directory = +prompt-download-directory = true +remember-download-directory = true +maximum-pages-in-cache = +object-cache-capacities = +offline-storage-default-quota = +offline-web-application-cache-quota = +offline-storage-database = true +offline-web-application-storage = true +local-storage = true +cache-size = + +[content] +# Loaded plugins/scripts and allowed actions. +# +# allow-images (Bool): +# Whether images are automatically loaded in web pages. +# Valid values: true, false +# Default: true +# +# allow-javascript (Bool): +# Enables or disables the running of JavaScript programs. +# Valid values: true, false +# Default: true +# +# allow-plugins (Bool): +# Enables or disables plugins in Web pages. +# Qt plugins with a mimetype such as "application/x-qt-plugin" are +# not affected by this setting. +# Valid values: true, false +# Default: false +# +# webgl (Bool): +# Enables or disables WebGL. +# Valid values: true, false +# Default: true +# +# css-regions (Bool): +# Enable or disable support for CSS regions. +# Valid values: true, false +# Default: true +# +# hyperlink-auditing (Bool): +# Enable or disable hyperlink auditing (<a ping>). +# Valid values: true, false +# Default: false +# +# geolocation (BoolAsk): +# Allow websites to request geolocations. +# Valid values: true, false, ask +# Default: ask +# +# notifications (BoolAsk): +# Allow websites to show notifications. +# Valid values: true, false, ask +# Default: ask +# +# media-capture (BoolAsk): +# Allow websites to record audio/video. +# Valid values: true, false, ask +# Default: ask +# +# javascript-can-open-windows-automatically (Bool): +# Whether JavaScript programs can open new windows without user +# interaction. +# Valid values: true, false +# Default: false +# +# javascript-can-close-windows (Bool): +# Whether JavaScript programs can close windows. +# Valid values: true, false +# Default: false +# +# javascript-can-access-clipboard (Bool): +# Whether JavaScript programs can read or write to the clipboard. +# Valid values: true, false +# Default: false +# +# ignore-javascript-prompt (Bool): +# Whether all javascript prompts should be ignored. +# Valid values: true, false +# Default: false +# +# ignore-javascript-alert (Bool): +# Whether all javascript alerts should be ignored. +# Valid values: true, false +# Default: false +# +# local-content-can-access-remote-urls (Bool): +# Whether locally loaded documents are allowed to access remote +# urls. +# Valid values: true, false +# Default: false +# +# local-content-can-access-file-urls (Bool): +# Whether locally loaded documents are allowed to access other local +# urls. +# Valid values: true, false +# Default: true +# +# cookies-accept (String): +# Control which cookies to accept. +# all: Accept all cookies. +# no-3rdparty: Accept cookies from the same origin only. +# no-unknown-3rdparty: Accept cookies from the same origin only, +# unless a cookie is already set for the domain. +# never: Don't accept cookies at all. +# Default: no-3rdparty +# +# cookies-store (Bool): +# Whether to store cookies. Note this option needs a restart with +# QtWebEngine. +# Valid values: true, false +# Default: true +# +# host-block-lists (List of Url): +# List of URLs of lists which contain hosts to block. +# The file can be in one of the following formats: +# - An '/etc/hosts'-like file +# - One host per line +# - A zip-file of any of the above, with either only one file, or a +# file named 'hosts' (with any extension). +# Default: +# https://www.malwaredomainlist.com/hostslist/hosts.txt,http://someonewhocares.org/hosts/hosts,http://winhelp2002.mvps.org/hosts.zip,http://malwaredomains.lehigh.edu/files/justdomains.zip,https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&mimetype=plaintext +# +# host-blocking-enabled (Bool): +# Whether host blocking is enabled. +# Valid values: true, false +# Default: true +# +# host-blocking-whitelist (List of String): +# List of domains that should always be loaded, despite being +# ad-blocked. +# Domains may contain * and ? wildcards and are otherwise required +# to exactly match the requested domain. +# Local domains are always exempt from hostblocking. +# Default: piwik.org +# +# enable-pdfjs (Bool): +# Enable pdf.js to view PDF files in the browser. +# Note that the files can still be downloaded by clicking the +# download button in the pdf.js viewer. +# Valid values: true, false +# Default: false +allow-images = true +allow-javascript = true +allow-plugins = false +webgl = true +css-regions = true +hyperlink-auditing = false +geolocation = ask +notifications = ask +media-capture = ask +javascript-can-open-windows-automatically = false +javascript-can-close-windows = false +javascript-can-access-clipboard = false +ignore-javascript-prompt = false +ignore-javascript-alert = false +local-content-can-access-remote-urls = false +local-content-can-access-file-urls = true +cookies-accept = no-3rdparty +cookies-store = true +host-block-lists = https://www.malwaredomainlist.com/hostslist/hosts.txt,http://someonewhocares.org/hosts/hosts,http://winhelp2002.mvps.org/hosts.zip,http://malwaredomains.lehigh.edu/files/justdomains.zip,https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&mimetype=plaintext +host-blocking-enabled = true +host-blocking-whitelist = piwik.org +enable-pdfjs = false + +[hints] +# Hinting settings. +# +# border (String): +# CSS border value for hints. +# Default: 1px solid #E3BE23 +# +# mode (String): +# Mode to use for hints. +# number: Use numeric hints. (In this mode you can also type +# letters form the hinted element to filter and reduce the number of +# elements that are hinted.) +# letter: Use the chars in the hints -> chars setting. +# word: Use hints words based on the html elements and the extra +# words. +# Default: letter +# +# chars (UniqueCharString): +# Chars used for hint strings. +# Default: asdfghjkl +# +# min-chars (Int): +# Minimum number of chars used for hint strings. +# Default: 1 +# +# scatter (Bool): +# Whether to scatter hint key chains (like Vimium) or not (like +# dwb). Ignored for number hints. +# Valid values: true, false +# Default: true +# +# uppercase (Bool): +# Make chars in hint strings uppercase. +# Valid values: true, false +# Default: false +# +# dictionary (File): +# The dictionary file to be used by the word hints. +# Default: /usr/share/dict/words +# +# auto-follow (String): +# Controls when a hint can be automatically followed without the +# user pressing Enter. +# always: Auto-follow whenever there is only a single hint on a +# page. +# unique-match: Auto-follow whenever there is a unique non-empty +# match in either the hint string (word mode) or filter (number +# mode). +# full-match: Follow the hint when the user typed the whole hint +# (letter, word or number mode) or the element's text (only in +# number mode). +# never: The user will always need to press Enter to follow a +# hint. +# Default: unique-match +# +# auto-follow-timeout (Int): +# A timeout (in milliseconds) to inhibit normal-mode key bindings +# after a successful auto-follow. +# Default: 0 +# +# next-regexes (List of Regex): +# A comma-separated list of regexes to use for 'next' links. +# Default: +# \bnext\b,\bmore\b,\bnewer\b,\b[>→≫]\b,\b(>>|»)\b,\bcontinue\b +# +# prev-regexes (List of Regex): +# A comma-separated list of regexes to use for 'prev' links. +# Default: \bprev(ious)?\b,\bback\b,\bolder\b,\b[<←≪]\b,\b(<<|«)\b +# +# find-implementation (String): +# Which implementation to use to find elements to hint. +# javascript: Better but slower +# python: Slightly worse but faster +# Default: python +# +# hide-unmatched-rapid-hints (Bool): +# Controls hiding unmatched hints in rapid mode. +# Valid values: true, false +# Default: true +border = 1px solid #E3BE23 +mode = number +chars = asdfghjkl +min-chars = 1 +scatter = true +uppercase = false +dictionary = /usr/share/dict/words +auto-follow = unique-match +auto-follow-timeout = 0 +next-regexes = \bnext\b,\bmore\b,\bnewer\b,\b[>→≫]\b,\b(>>|»)\b,\bcontinue\b +prev-regexes = \bprev(ious)?\b,\bback\b,\bolder\b,\b[<←≪]\b,\b(<<|«)\b +find-implementation = python +hide-unmatched-rapid-hints = true + +[searchengines] +# Definitions of search engines which can be used via the address bar. +# The searchengine named `DEFAULT` is used when `general -> auto-search` +# is true and something else than a URL was entered to be opened. Other +# search engines can be used by prepending the search engine name to the +# search term, e.g. `:open google qutebrowser`. The string `{}` will be +# replaced by the search term, use `{{` and `}}` for literal `{`/`}` +# signs. +DEFAULT = https://duckduckgo.com/?q={} + +[aliases] +# Aliases for commands. +# By default, no aliases are defined. Example which adds a new command +# `:qtb` to open qutebrowsers website: +# `qtb = open https://www.qutebrowser.org/` + +[colors] +# Colors used in the UI. +# A value can be in one of the following format: +# * `#RGB`/`#RRGGBB`/`#RRRGGGBBB`/`#RRRRGGGGBBBB` +# * An SVG color name as specified in http://www.w3.org/TR/SVG/types.html#ColorKeywords[the W3C specification]. +# * transparent (no color) +# * `rgb(r, g, b)` / `rgba(r, g, b, a)` (values 0-255 or percentages) +# * `hsv(h, s, v)` / `hsva(h, s, v, a)` (values 0-255, hue 0-359) +# * A gradient as explained in http://doc.qt.io/qt-5/stylesheet-reference.html#list-of-property-types[the Qt documentation] under ``Gradient''. +# A *.system value determines the color system to use for color +# interpolation between similarly-named *.start and *.stop entries, +# regardless of how they are defined in the options. Valid values are +# 'rgb', 'hsv', and 'hsl'. +# The `hints.*` values are a special case as they're real CSS colors, not Qt-CSS colors. There, for a gradient, you need to use `-webkit-gradient`, see https://www.webkit.org/blog/175/introducing-css-gradients/[the WebKit documentation]. +# +# completion.fg (QtColor): +# Text color of the completion widget. +# Default: white +# +# completion.bg (QssColor): +# Background color of the completion widget. +# Default: #333333 +# +# completion.alternate-bg (QssColor): +# Alternating background color of the completion widget. +# Default: #444444 +# +# completion.category.fg (QtColor): +# Foreground color of completion widget category headers. +# Default: white +# +# completion.category.bg (QssColor): +# Background color of the completion widget category headers. +# Default: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #888888, +# stop:1 #505050) +# +# completion.category.border.top (QssColor): +# Top border color of the completion widget category headers. +# Default: black +# +# completion.category.border.bottom (QssColor): +# Bottom border color of the completion widget category headers. +# Default: ${completion.category.border.top} +# +# completion.item.selected.fg (QtColor): +# Foreground color of the selected completion item. +# Default: black +# +# completion.item.selected.bg (QssColor): +# Background color of the selected completion item. +# Default: #e8c000 +# +# completion.item.selected.border.top (QssColor): +# Top border color of the completion widget category headers. +# Default: #bbbb00 +# +# completion.item.selected.border.bottom (QssColor): +# Bottom border color of the selected completion item. +# Default: ${completion.item.selected.border.top} +# +# completion.match.fg (QssColor): +# Foreground color of the matched text in the completion. +# Default: #ff4444 +# +# completion.scrollbar.fg (QssColor): +# Color of the scrollbar handle in completion view. +# Default: ${completion.fg} +# +# completion.scrollbar.bg (QssColor): +# Color of the scrollbar in completion view +# Default: ${completion.bg} +# +# statusbar.fg (QssColor): +# Foreground color of the statusbar. +# Default: white +# +# statusbar.bg (QssColor): +# Background color of the statusbar. +# Default: black +# +# statusbar.fg.insert (QssColor): +# Foreground color of the statusbar in insert mode. +# Default: ${statusbar.fg} +# +# statusbar.bg.insert (QssColor): +# Background color of the statusbar in insert mode. +# Default: darkgreen +# +# statusbar.fg.command (QssColor): +# Foreground color of the statusbar in command mode. +# Default: ${statusbar.fg} +# +# statusbar.bg.command (QssColor): +# Background color of the statusbar in command mode. +# Default: ${statusbar.bg} +# +# statusbar.fg.caret (QssColor): +# Foreground color of the statusbar in caret mode. +# Default: ${statusbar.fg} +# +# statusbar.bg.caret (QssColor): +# Background color of the statusbar in caret mode. +# Default: purple +# +# statusbar.fg.caret-selection (QssColor): +# Foreground color of the statusbar in caret mode with a selection +# Default: ${statusbar.fg} +# +# statusbar.bg.caret-selection (QssColor): +# Background color of the statusbar in caret mode with a selection +# Default: #a12dff +# +# statusbar.progress.bg (QssColor): +# Background color of the progress bar. +# Default: white +# +# statusbar.url.fg (QssColor): +# Default foreground color of the URL in the statusbar. +# Default: ${statusbar.fg} +# +# statusbar.url.fg.success (QssColor): +# Foreground color of the URL in the statusbar on successful load +# (http). +# Default: white +# +# statusbar.url.fg.success.https (QssColor): +# Foreground color of the URL in the statusbar on successful load +# (https). +# Default: lime +# +# statusbar.url.fg.error (QssColor): +# Foreground color of the URL in the statusbar on error. +# Default: orange +# +# statusbar.url.fg.warn (QssColor): +# Foreground color of the URL in the statusbar when there's a +# warning. +# Default: yellow +# +# statusbar.url.fg.hover (QssColor): +# Foreground color of the URL in the statusbar for hovered links. +# Default: aqua +# +# tabs.fg.odd (QtColor): +# Foreground color of unselected odd tabs. +# Default: white +# +# tabs.bg.odd (QtColor): +# Background color of unselected odd tabs. +# Default: grey +# +# tabs.fg.even (QtColor): +# Foreground color of unselected even tabs. +# Default: white +# +# tabs.bg.even (QtColor): +# Background color of unselected even tabs. +# Default: darkgrey +# +# tabs.fg.selected.odd (QtColor): +# Foreground color of selected odd tabs. +# Default: white +# +# tabs.bg.selected.odd (QtColor): +# Background color of selected odd tabs. +# Default: black +# +# tabs.fg.selected.even (QtColor): +# Foreground color of selected even tabs. +# Default: ${tabs.fg.selected.odd} +# +# tabs.bg.selected.even (QtColor): +# Background color of selected even tabs. +# Default: ${tabs.bg.selected.odd} +# +# tabs.bg.bar (QtColor): +# Background color of the tab bar. +# Default: #555555 +# +# tabs.indicator.start (QtColor): +# Color gradient start for the tab indicator. +# Default: #0000aa +# +# tabs.indicator.stop (QtColor): +# Color gradient end for the tab indicator. +# Default: #00aa00 +# +# tabs.indicator.error (QtColor): +# Color for the tab indicator on errors.. +# Default: #ff0000 +# +# tabs.indicator.system (ColorSystem): +# Color gradient interpolation system for the tab indicator. +# rgb: Interpolate in the RGB color system. +# hsv: Interpolate in the HSV color system. +# hsl: Interpolate in the HSL color system. +# none: Don't show a gradient. +# Default: rgb +# +# hints.fg (QssColor): +# Font color for hints. +# Default: black +# +# hints.bg (QssColor): +# Background color for hints. Note that you can use a `rgba(...)` +# value for transparency. +# Default: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgba(255, +# 247, 133, 0.8), stop:1 rgba(255, 197, 66, 0.8)) +# +# hints.fg.match (QssColor): +# Font color for the matched part of hints. +# Default: green +# +# downloads.bg.bar (QssColor): +# Background color for the download bar. +# Default: black +# +# downloads.fg.start (QtColor): +# Color gradient start for download text. +# Default: white +# +# downloads.bg.start (QtColor): +# Color gradient start for download backgrounds. +# Default: #0000aa +# +# downloads.fg.stop (QtColor): +# Color gradient end for download text. +# Default: ${downloads.fg.start} +# +# downloads.bg.stop (QtColor): +# Color gradient stop for download backgrounds. +# Default: #00aa00 +# +# downloads.fg.system (ColorSystem): +# Color gradient interpolation system for download text. +# rgb: Interpolate in the RGB color system. +# hsv: Interpolate in the HSV color system. +# hsl: Interpolate in the HSL color system. +# none: Don't show a gradient. +# Default: rgb +# +# downloads.bg.system (ColorSystem): +# Color gradient interpolation system for download backgrounds. +# rgb: Interpolate in the RGB color system. +# hsv: Interpolate in the HSV color system. +# hsl: Interpolate in the HSL color system. +# none: Don't show a gradient. +# Default: rgb +# +# downloads.fg.error (QtColor): +# Foreground color for downloads with errors. +# Default: white +# +# downloads.bg.error (QtColor): +# Background color for downloads with errors. +# Default: red +# +# webpage.bg (QtColor): +# Background color for webpages if unset (or empty to use the +# theme's color) +# Default: white +# +# keyhint.fg (QssColor): +# Text color for the keyhint widget. +# Default: #FFFFFF +# +# keyhint.fg.suffix (CssColor): +# Highlight color for keys to complete the current keychain +# Default: #FFFF00 +# +# keyhint.bg (QssColor): +# Background color of the keyhint widget. +# Default: rgba(0, 0, 0, 80%) +# +# messages.fg.error (QssColor): +# Foreground color of an error message. +# Default: white +# +# messages.bg.error (QssColor): +# Background color of an error message. +# Default: red +# +# messages.border.error (QssColor): +# Border color of an error message. +# Default: #bb0000 +# +# messages.fg.warning (QssColor): +# Foreground color a warning message. +# Default: white +# +# messages.bg.warning (QssColor): +# Background color of a warning message. +# Default: darkorange +# +# messages.border.warning (QssColor): +# Border color of an error message. +# Default: #d47300 +# +# messages.fg.info (QssColor): +# Foreground color an info message. +# Default: white +# +# messages.bg.info (QssColor): +# Background color of an info message. +# Default: black +# +# messages.border.info (QssColor): +# Border color of an info message. +# Default: #333333 +# +# prompts.fg (QssColor): +# Foreground color for prompts. +# Default: white +# +# prompts.bg (QssColor): +# Background color for prompts. +# Default: darkblue +# +# prompts.selected.bg (QssColor): +# Background color for the selected item in filename prompts. +# Default: #308cc6 +completion.fg = white +completion.bg = #333333 +completion.alternate-bg = #444444 +completion.category.fg = white +completion.category.bg = qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #888888, stop:1 #505050) +completion.category.border.top = black +completion.category.border.bottom = ${completion.category.border.top} +completion.item.selected.fg = black +completion.item.selected.bg = #e8c000 +completion.item.selected.border.top = #bbbb00 +completion.item.selected.border.bottom = ${completion.item.selected.border.top} +completion.match.fg = #ff4444 +completion.scrollbar.fg = ${completion.fg} +completion.scrollbar.bg = ${completion.bg} +statusbar.fg = white +statusbar.bg = black +statusbar.fg.insert = ${statusbar.fg} +statusbar.bg.insert = darkgreen +statusbar.fg.command = ${statusbar.fg} +statusbar.bg.command = ${statusbar.bg} +statusbar.fg.caret = ${statusbar.fg} +statusbar.bg.caret = purple +statusbar.fg.caret-selection = ${statusbar.fg} +statusbar.bg.caret-selection = #a12dff +statusbar.progress.bg = white +statusbar.url.fg = ${statusbar.fg} +statusbar.url.fg.success = white +statusbar.url.fg.success.https = lime +statusbar.url.fg.error = orange +statusbar.url.fg.warn = yellow +statusbar.url.fg.hover = aqua +tabs.fg.odd = white +tabs.bg.odd = grey +tabs.fg.even = white +tabs.bg.even = darkgrey +tabs.fg.selected.odd = white +tabs.bg.selected.odd = black +tabs.fg.selected.even = ${tabs.fg.selected.odd} +tabs.bg.selected.even = ${tabs.bg.selected.odd} +tabs.bg.bar = #555555 +tabs.indicator.start = #0000aa +tabs.indicator.stop = #00aa00 +tabs.indicator.error = #ff0000 +tabs.indicator.system = rgb +hints.fg = black +hints.bg = qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgba(255, 247, 133, 0.8), stop:1 rgba(255, 197, 66, 0.8)) +hints.fg.match = green +downloads.bg.bar = black +downloads.fg.start = white +downloads.bg.start = #0000aa +downloads.fg.stop = ${downloads.fg.start} +downloads.bg.stop = #00aa00 +downloads.fg.system = rgb +downloads.bg.system = rgb +downloads.fg.error = white +downloads.bg.error = red +webpage.bg = white +keyhint.fg = #FFFFFF +keyhint.fg.suffix = #FFFF00 +keyhint.bg = rgba(0, 0, 0, 80%) +messages.fg.error = white +messages.bg.error = red +messages.border.error = #bb0000 +messages.fg.warning = white +messages.bg.warning = darkorange +messages.border.warning = #d47300 +messages.fg.info = white +messages.bg.info = black +messages.border.info = #333333 +prompts.fg = white +prompts.bg = darkblue +prompts.selected.bg = #308cc6 + +[fonts] +# Fonts used for the UI, with optional style/weight/size. +# * Style: `normal`/`italic`/`oblique` +# * Weight: `normal`, `bold`, `100`..`900` +# * Size: _number_ `px`/`pt` +# +# _monospace (Font): +# Default monospace fonts. +# Default: Terminus, Monospace, "DejaVu Sans Mono", Monaco, +# "Bitstream Vera Sans Mono", "Andale Mono", "Courier New", Courier, +# "Liberation Mono", monospace, Fixed, Consolas, Terminal +# +# completion (Font): +# Font used in the completion widget. +# Default: 10pt ${_monospace} +# +# completion.category (Font): +# Font used in the completion categories. +# Default: bold ${completion} +# +# tabbar (QtFont): +# Font used in the tab bar. +# Default: 10pt ${_monospace} +# +# statusbar (Font): +# Font used in the statusbar. +# Default: 10pt ${_monospace} +# +# downloads (Font): +# Font used for the downloadbar. +# Default: 10pt ${_monospace} +# +# hints (Font): +# Font used for the hints. +# Default: bold 13px ${_monospace} +# +# debug-console (QtFont): +# Font used for the debugging console. +# Default: 10pt ${_monospace} +# +# web-family-standard (FontFamily): +# Font family for standard fonts. +# Default: +# +# web-family-fixed (FontFamily): +# Font family for fixed fonts. +# Default: +# +# web-family-serif (FontFamily): +# Font family for serif fonts. +# Default: +# +# web-family-sans-serif (FontFamily): +# Font family for sans-serif fonts. +# Default: +# +# web-family-cursive (FontFamily): +# Font family for cursive fonts. +# Default: +# +# web-family-fantasy (FontFamily): +# Font family for fantasy fonts. +# Default: +# +# web-size-minimum (Int): +# The hard minimum font size. +# Default: +# +# web-size-minimum-logical (Int): +# The minimum logical font size that is applied when zooming out. +# Default: +# +# web-size-default (Int): +# The default font size for regular text. +# Default: +# +# web-size-default-fixed (Int): +# The default font size for fixed-pitch text. +# Default: +# +# keyhint (Font): +# Font used in the keyhint widget. +# Default: 10pt ${_monospace} +# +# messages.error (Font): +# Font used for error messages. +# Default: 10pt ${_monospace} +# +# messages.warning (Font): +# Font used for warning messages. +# Default: 10pt ${_monospace} +# +# messages.info (Font): +# Font used for info messages. +# Default: 10pt ${_monospace} +# +# prompts (Font): +# Font used for prompts. +# Default: 10pt sans-serif +_monospace = Terminus, Monospace, "DejaVu Sans Mono", Monaco, "Bitstream Vera Sans Mono", "Andale Mono", "Courier New", Courier, "Liberation Mono", monospace, Fixed, Consolas, Terminal +completion = 10pt ${_monospace} +completion.category = bold ${completion} +tabbar = 10pt ${_monospace} +statusbar = 10pt ${_monospace} +downloads = 10pt ${_monospace} +hints = bold 13px ${_monospace} +debug-console = 10pt ${_monospace} +web-family-standard = +web-family-fixed = +web-family-serif = +web-family-sans-serif = +web-family-cursive = +web-family-fantasy = +web-size-minimum = +web-size-minimum-logical = +web-size-default = +web-size-default-fixed = +keyhint = 10pt ${_monospace} +messages.error = 10pt ${_monospace} +messages.warning = 10pt ${_monospace} +messages.info = 10pt ${_monospace} +prompts = 10pt sans-serif
--- a/vim/bundle/scratch/plugin/scratch.vim Tue Aug 08 21:48:09 2017 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,110 +0,0 @@ -" File: scratch.vim -" Author: Yegappan Lakshmanan (yegappan AT yahoo DOT com) -" Version: 1.0 -" Last Modified: June 3, 2003 -" -" Overview -" -------- -" You can use the scratch plugin to create a temporary scratch buffer to store -" and edit text that will be discarded when you quit/exit vim. The contents -" of the scratch buffer are not saved/stored in a file. -" -" Installation -" ------------ -" 1. Copy the scratch.vim plugin to the $HOME/.vim/plugin directory. Refer to -" the following Vim help topics for more information about Vim plugins: -" -" :help add-plugin -" :help add-global-plugin -" :help runtimepath -" -" 2. Restart Vim. -" -" Usage -" ----- -" You can use the following command to open/edit the scratch buffer: -" -" :Scratch -" -" To open the scratch buffer in a new split window, use the following command: -" -" :Sscratch -" -" When you close the scratch buffer window, the buffer will retain the -" contents. You can again edit the scratch buffer by openeing it using one of -" the above commands. There is no need to save the scatch buffer. -" -" When you quit/exit Vim, the contents of the scratch buffer will be lost. -" You will not be prompted to save the contents of the modified scratch -" buffer. -" -" You can have only one scratch buffer open in a single Vim instance. If the -" current buffer has unsaved modifications, then the scratch buffer will be -" opened in a new window -" -" ****************** Do not modify after this line ************************ -if exists('loaded_scratch') || &cp - finish -endif -let loaded_scratch=1 - -" Scratch buffer name -let ScratchBufferName = "__Scratch__" - -" ScratchBufferOpen -" Open the scratch buffer -function! s:ScratchBufferOpen(new_win) - let split_win = a:new_win - - " If the current buffer is modified then open the scratch buffer in a new - " window - if !split_win && &modified - let split_win = 1 - endif - - " Check whether the scratch buffer is already created - let scr_bufnum = bufnr(g:ScratchBufferName) - if scr_bufnum == -1 - " open a new scratch buffer - if split_win - exe "new " . g:ScratchBufferName - else - exe "edit " . g:ScratchBufferName - endif - else - " Scratch buffer is already created. Check whether it is open - " in one of the windows - let scr_winnum = bufwinnr(scr_bufnum) - if scr_winnum != -1 - " Jump to the window which has the scratch buffer if we are not - " already in that window - if winnr() != scr_winnum - exe scr_winnum . "wincmd w" - endif - else - " Create a new scratch buffer - if split_win - exe "split +buffer" . scr_bufnum - else - exe "buffer " . scr_bufnum - endif - endif - endif -endfunction - -" ScratchMarkBuffer -" Mark a buffer as scratch -function! s:ScratchMarkBuffer() - setlocal buftype=nofile - setlocal bufhidden=hide - setlocal noswapfile - setlocal buflisted -endfunction - -autocmd BufNewFile __Scratch__ call s:ScratchMarkBuffer() - -" Command to edit the scratch buffer in the current window -command! -nargs=0 Scratch call s:ScratchBufferOpen(0) -" Command to open the scratch buffer in a new split window -command! -nargs=0 Sscratch call s:ScratchBufferOpen(1) -
--- a/vim/vimrc Tue Aug 08 21:48:09 2017 -0700 +++ b/vim/vimrc Wed Aug 09 21:40:36 2017 -0700 @@ -359,18 +359,81 @@ " }}} +" Lightline {{{ +let g:lightline = { + \'colorscheme': 'solarized', + \'active': { + \ 'left': [ ['mode', 'paste'], + \ ['fugitive', 'lawrencium', 'readonly', 'filename'], + \ ['ctrlpmark'] ], + \ 'right': [ ['lineinfo'], + \ ['percent'], + \ ['fileformat', 'fileencoding', 'filetype'], + \ ['gutentags', 'syntastic', 'ycm_errs', 'ycm_warns'] ] + \ }, + \'component_function': { + \ 'fugitive': '_LightlineFugitive', + \ 'lawrencium': '_LightlineLawrencium', + \ 'ctrlpmark': '_LightlineCtrlPMark', + \ }, + \'component_expand': { + \ 'syntastic': '_LightlineSyntastic', + \ 'ycm_errs': '_LightlineYcmErrors', + \ 'ycm_warns': '_LightlineYcmWarnings', + \ 'gutentags': '_LightlineGutentags', + \ }, + \'component_type': { + \ 'syntastic': 'error', + \ 'ycm_errs': 'error', + \ 'ycm_warns': 'warning', + \ 'gutentags': 'warning', + \ }, + \} + +function! _LightlineFugitive() + return fugitive#head() +endfunction + +function! _LightlineLawrencium() + return lawrencium#statusline() +endfunction + +function! _LightlineCtrlPMark() + if expand('%:t') =~ 'ControlP' && has_key(g:lightline, 'ctrlp_item') + call lightline#link('iR'[g:lightline.ctrlp_regex]) + return lightline#concatenate( + \['WAT?', g:lightline.ctrlp_prev, + \ g:lightline.ctrlp_item, + \ g:lightline.ctrlp_next], + \0) + else + return '' + endif +endfunction + +function! _LightlineGutentags() + return gutentags#statusline() +endfunction + +function! _LightlineSyntastic() + return SyntasticStatuslineFlag() +endfunction + +function! _LightlineYcmErrors() + let l:cnt = youcompleteme#GetErrorCount() + return l:cnt > 0 ? string(l:cnt) : '' +endfunction + +function! _LightlineYcmWarnings() + let l:cnt = youcompleteme#GetWarningCount() + return l:cnt > 0 ? string(l:cnt) : '' +endfunction +" }}} + " }}} " File-Specific Settings {{{ -" Automatically change the current working directory based on a project -" I'm in. -augroup VimRCAutoCWD - au! - autocmd BufReadPost * call s:SetProjectRootCwd(1) - autocmd BufEnter * call s:SetProjectRootCwd(0) -augroup END - augroup VimRCFileType_markdown au! autocmd FileType text,markdown setlocal textwidth=80 @@ -428,8 +491,6 @@ noremap <C-Tab> :tabnext<cr> noremap <C-S-Tab> :tabprevious<cr> nnoremap <leader>t :tabnew<cr> -nnoremap <C-t> :tabnew<cr> -nnoremap <C-w> :tabclose<cr> " Window navigation nnoremap <C-up> :wincmd k<cr> @@ -479,7 +540,7 @@ nnoremap <silent> <C-p> :CtrlP<cr> nnoremap <silent> <C-o> :CtrlPBuffer<cr> nnoremap <silent> <C-u> :CtrlPTag<cr> -nnoremap <silent> <C-y> :CtrlPQuickfix<cr> +nnoremap <silent> <C-y> :CtrlPBufTag<cr> nnoremap <silent> <Tab> :CtrlPMRUFiles<cr> nnoremap <silent> <F8> :CtrlPBookmarkDir<cr> @@ -546,6 +607,13 @@ nnoremap n nzvzz nnoremap N Nzvzz +" YCM mappings. +nnoremap <Leader>jj :YcmCompleter GoToImprecise<cr> +nnoremap <Leader>jd :YcmCompleter GoToDefinition<cr> +nnoremap <Leader>jh :YcmCompleter GoToDeclaration<cr> +nnoremap <Leader>ji :YcmCompleter GoToInclude<cr> +nnoremap <Leader>jc :YcmCompleter GetDoc<cr> + " }}} " Folding {{{ @@ -572,43 +640,6 @@ " }}} -" Status Line {{{ - -set statusline=%f " Path. -set statusline+=%m " Modified flag. -set statusline+=%r " Readonly flag. -set statusline+=%w " Preview window flag. - -set statusline+=\ " Space. - -set statusline+=%#redbar# " Highlight the following as a warning. -set statusline+=%{SyntasticStatuslineFlag()} " Syntastic errors. -set statusline+=%* " Reset highlighting. - -set statusline+=%= " Right align. - -" Tag file generation indicator. -set statusline+=%{gutentags#statusline('[TAGS]')} -set statusline+=\ " Space. - -" Mercurial information. -set statusline+=%{lawrencium#statusline('[',']')} -set statusline+=\ " Space. - -" File format, encoding and type. Ex: "(unix/utf-8/python)" -set statusline+=( -set statusline+=%{&ff} " Format (unix/DOS). -set statusline+=/ -set statusline+=%{strlen(&fenc)?&fenc:&enc} " Encoding (utf-8). -set statusline+=/ -set statusline+=%{&ft} " Type (python). -set statusline+=) - -" Line and column position and counts. -set statusline+=\ (%l\/%L,%03c) - -" }}} - " Functions {{{ function! s:ToggleSpellCheck() abort @@ -630,62 +661,6 @@ call cursor(l, c) endfunction -function! s:FindProjectRoot(cur, marker) abort - let l:cur = a:cur - let l:previous_cur = '' - let l:slash = '/' - if has('win32') - let l:slash = '\' - endif - while l:cur != l:previous_cur - let l:marker_path = l:cur . l:slash . a:marker - if glob(l:marker_path) != '' - return fnamemodify(l:cur, ':p') - endif - let l:previous_cur = l:cur - let l:cur = fnamemodify(l:cur, ':h') - endwhile - return '' -endfunction - -function! s:SetProjectRootCwd(recompute) abort - if a:recompute != 1 && exists('b:ludo_workdir') - execute 'lcd!' fnameescape(b:ludo_workdir) - return - endif - - let l:cur_file_dir = expand('%:p:h', 1) - if l:cur_file_dir =~ '\v^(\w+:)?(//|\\\\)' - " Don't do shit on filenames coming from the network or something. - return - endif - let l:found_root = 0 - let l:root = '' - let l:markers = [] - if exists('g:ctrlp_root_markers') - let l:markers += g:ctrlp_root_markers - endif - let l:markers += ['.git', '.hg', '.svn', '.bzr', '_darcs'] - let l:unique_markers = [] - for marker in l:markers - if index(l:unique_markers, marker) < 0 - call add(l:unique_markers, marker) - endif - endfor - " Find the project root closest to the current file. - for marker in l:unique_markers - let l:proj_root = s:FindProjectRoot(l:cur_file_dir, marker) - if l:proj_root != '' && len(l:proj_root) > len(l:root) - let l:root = l:proj_root - let l:found_root = 1 - endif - endfor - if l:found_root - let b:ludo_workdir = l:root - execute 'lcd!' fnameescape(l:root) - endif -endfunction - function! s:ToggleNERDTree() abort NERDTreeToggle endfunction @@ -695,6 +670,13 @@ normal zz endfunction +function! s:AutoProjectRootCD() abort + if &buftype == '' + ProjectRootCD + endif +endfunction +autocmd BufEnter * call <SID>AutoProjectRootCD() + " }}} " Local override {{{