diff --git a/home/vim/bundle/vim-tmux-navigator/.gitignore b/home/vim/bundle/vim-tmux-navigator/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..926ccaaf933c481eaa94173f7743a6b1ad9aeec7 --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/.gitignore @@ -0,0 +1 @@ +doc/tags diff --git a/home/vim/bundle/vim-tmux-navigator/License.md b/home/vim/bundle/vim-tmux-navigator/License.md new file mode 100644 index 0000000000000000000000000000000000000000..046c81da30206ea9c71b1ffc5ed56e6727c62567 --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/License.md @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017 Chris Toomey + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/home/vim/bundle/vim-tmux-navigator/README.md b/home/vim/bundle/vim-tmux-navigator/README.md new file mode 100644 index 0000000000000000000000000000000000000000..490fa34496288aea726a846ea41499c3ed39a508 --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/README.md @@ -0,0 +1,279 @@ +Vim Tmux Navigator +================== + +This plugin is a repackaging of [Mislav Marohnić's][] tmux-navigator +configuration described in [this gist][]. When combined with a set of tmux +key bindings, the plugin will allow you to navigate seamlessly between +vim and tmux splits using a consistent set of hotkeys. + +**NOTE**: This requires tmux v1.8 or higher. + +Usage +----- + +This plugin provides the following mappings which allow you to move between +Vim panes and tmux splits seamlessly. + +- `` => Left +- `` => Down +- `` => Up +- `` => Right +- `` => Previous split + +**Note** - you don't need to use your tmux `prefix` key sequence before using +the mappings. + +If you want to use alternate key mappings, see the [configuration section +below][]. + +Installation +------------ + +### Vim + +If you don't have a preferred installation method, I recommend using [Vundle][]. +Assuming you have Vundle installed and configured, the following steps will +install the plugin: + +Add the following line to your `~/.vimrc` file + +``` vim +Plugin 'christoomey/vim-tmux-navigator' +``` + +Then run + +``` +:PluginInstall +``` + +### tmux + +To configure the tmux side of this customization there are two options: + +#### Add a snippet + +Add the following to your `~/.tmux.conf` file: + +``` tmux +# Smart pane switching with awareness of Vim splits. +# See: https://github.com/christoomey/vim-tmux-navigator +is_vim="ps -o state= -o comm= -t '#{pane_tty}' \ + | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'" +bind-key -n C-h if-shell "$is_vim" "send-keys C-h" "select-pane -L" +bind-key -n C-j if-shell "$is_vim" "send-keys C-j" "select-pane -D" +bind-key -n C-k if-shell "$is_vim" "send-keys C-k" "select-pane -U" +bind-key -n C-l if-shell "$is_vim" "send-keys C-l" "select-pane -R" +bind-key -n C-\ if-shell "$is_vim" "send-keys C-\\" "select-pane -l" +bind-key -T copy-mode-vi C-h select-pane -L +bind-key -T copy-mode-vi C-j select-pane -D +bind-key -T copy-mode-vi C-k select-pane -U +bind-key -T copy-mode-vi C-l select-pane -R +bind-key -T copy-mode-vi C-\ select-pane -l +``` + +#### TPM + +If you'd prefer, you can use the Tmux Plugin Manager ([TPM][]) instead of +copying the snippet. +When using TPM, add the following lines to your ~/.tmux.conf: + +``` tmux +set -g @plugin 'christoomey/vim-tmux-navigator' +run '~/.tmux/plugins/tpm/tpm' +``` + +Thanks to Christopher Sexton who provided the updated tmux configuration in +[this blog post][]. + +Configuration +------------- + +### Custom Key Bindings + +If you don't want the plugin to create any mappings, you can use the five +provided functions to define your own custom maps. You will need to define +custom mappings in your `~/.vimrc` as well as update the bindings in tmux to +match. + +#### Vim + +Add the following to your `~/.vimrc` to define your custom maps: + +``` vim +let g:tmux_navigator_no_mappings = 1 + +nnoremap {Left-Mapping} :TmuxNavigateLeft +nnoremap {Down-Mapping} :TmuxNavigateDown +nnoremap {Up-Mapping} :TmuxNavigateUp +nnoremap {Right-Mapping} :TmuxNavigateRight +nnoremap {Previous-Mapping} :TmuxNavigatePrevious +``` + +*Note* Each instance of `{Left-Mapping}` or `{Down-Mapping}` must be replaced +in the above code with the desired mapping. Ie, the mapping for `` => +Left would be created with `nnoremap :TmuxNavigateLeft`. + +##### Autosave on leave + +You can configure the plugin to write the current buffer, or all buffers, when +navigating from Vim to tmux. This functionality is exposed via the +`g:tmux_navigator_save_on_switch` variable, which can have either of the +following values: + +Value | Behavior +------ | ------ +1 | `:update` (write the current buffer, but only if changed) +2 | `:wall` (write all buffers) + +To enable this, add the following (with the desired value) to your ~/.vimrc: + +```vim +" Write all buffers before navigating from Vim to tmux pane +let g:tmux_navigator_save_on_switch = 2 +``` + +##### Disable While Zoomed + +By default, if you zoom the tmux pane running Vim and then attempt to navigate +"past" the edge of the Vim session, tmux will unzoom the pane. This is the +default tmux behavior, but may be confusing if you've become accustomed to +navigation "wrapping" around the sides due to this plugin. + +We provide an option, `g:tmux_navigator_disable_when_zoomed`, which can be used +to disable this unzooming behavior, keeping all navigation within Vim until the +tmux pane is explicitly unzoomed. + +To disable navigation when zoomed, add the following to your ~/.vimrc: + +```vim +" Disable tmux navigator when zooming the Vim pane +let g:tmux_navigator_disable_when_zoomed = 1 +``` + +#### Tmux + +Alter each of the five lines of the tmux configuration listed above to use your +custom mappings. **Note** each line contains two references to the desired +mapping. + +### Additional Customization + +#### Restoring Clear Screen (C-l) + +The default key bindings include `` which is the readline key binding +for clearing the screen. The following binding can be added to your `~/.tmux.conf` file to provide an alternate mapping to `clear-screen`. + +``` tmux +bind C-l send-keys 'C-l' +``` + +With this enabled you can use ` C-l` to clear the screen. + +Thanks to [Brian Hogan][] for the tip on how to re-map the clear screen binding. + +#### Nesting +If you like to nest your tmux sessions, this plugin is not going to work +properly. It probably never will, as it would require detecting when Tmux would +wrap from one outermost pane to another and propagating that to the outer +session. + +By default this plugin works on the outermost tmux session and the vim +sessions it contains, but you can customize the behaviour by adding more +commands to the expression used by the grep command. + +When nesting tmux sessions via ssh or mosh, you could extend it to look like +`'(^|\/)g?(view|vim|ssh|mosh?)(diff)?$'`, which makes this plugin work within +the innermost tmux session and the vim sessions within that one. This works +better than the default behaviour if you use the outer Tmux sessions as relays +to different hosts and have all instances of vim on remote hosts. + +Similarly, if you like to nest tmux locally, add `|tmux` to the expression. + +This behaviour means that you can't leave the innermost session with Ctrl-hjkl +directly. These following fallback mappings can be targeted to the right Tmux +session by escaping the prefix (Tmux' `send-prefix` command). + +``` tmux +bind -r C-h run "tmux select-pane -L" +bind -r C-j run "tmux select-pane -D" +bind -r C-k run "tmux select-pane -U" +bind -r C-l run "tmux select-pane -R" +bind -r C-\ run "tmux select-pane -l" +``` + +Troubleshooting +--------------- + +### Vim -> Tmux doesn't work! + +This is likely due to conflicting key mappings in your `~/.vimrc`. You can use +the following search pattern to find conflicting mappings +`\vn(nore)?map\s+\`. Any matching lines should be deleted or +altered to avoid conflicting with the mappings from the plugin. + +Another option is that the pattern matching included in the `.tmux.conf` is +not recognizing that Vim is active. To check that tmux is properly recognizing +Vim, use the provided Vim command `:TmuxNavigatorProcessList`. The output of +that command should be a list like: + +``` +Ss -zsh +S+ vim +S+ tmux +``` + +If you encounter a different output please [open an issue][] with as much info +about your OS, Vim version, and tmux version as possible. + +[open an issue]: https://github.com/christoomey/vim-tmux-navigator/issues/new + +### Tmux Can't Tell if Vim Is Active + +This functionality requires tmux version 1.8 or higher. You can check your +version to confirm with this shell command: + +``` bash +tmux -V # should return 'tmux 1.8' +``` + +### Switching out of Vim Is Slow + +If you find that navigation within Vim (from split to split) is fine, but Vim +to a non-Vim tmux pane is delayed, it might be due to a slow shell startup. +Consider moving code from your shell's non-interactive rc file (e.g., +`~/.zshenv`) into the interactive startup file (e.g., `~/.zshrc`) as Vim only +sources the non-interactive config. + +### It doesn't work in Vim's `terminal` mode + +Terminal mode is currently unsupported as adding this plugin's mappings there +causes conflict with movement mappings for FZF (it also uses terminal mode). +There's a conversation about this in https://github.com/christoomey/vim-tmux-navigator/pull/172 + +### It Doesn't Work in tmate + +[tmate][] is a tmux fork that aids in setting up remote pair programming +sessions. It is designed to run alongside tmux without issue, but occasionally +there are hiccups. Specifically, if the versions of tmux and tmate don't match, +you can have issues. See [this +issue](https://github.com/christoomey/vim-tmux-navigator/issues/27) for more +detail. + +[tmate]: http://tmate.io/ + +### It Still Doesn't Work!!! + +The tmux configuration uses an inlined grep pattern match to help determine if +the current pane is running Vim. If you run into any issues with the navigation +not happening as expected, you can try using [Mislav's original external +script][] which has a more robust check. + +[Brian Hogan]: https://twitter.com/bphogan +[Mislav Marohnić's]: http://mislav.uniqpath.com/ +[Mislav's original external script]: https://github.com/mislav/dotfiles/blob/master/bin/tmux-vim-select-pane +[Vundle]: https://github.com/gmarik/vundle +[TPM]: https://github.com/tmux-plugins/tpm +[configuration section below]: #custom-key-bindings +[this blog post]: http://www.codeography.com/2013/06/19/navigating-vim-and-tmux-splits +[this gist]: https://gist.github.com/mislav/5189704 diff --git a/home/vim/bundle/vim-tmux-navigator/doc/tmux-navigator.txt b/home/vim/bundle/vim-tmux-navigator/doc/tmux-navigator.txt new file mode 100644 index 0000000000000000000000000000000000000000..dbb398f60eb509e24d1c3d2632fbec078e3a1285 --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/doc/tmux-navigator.txt @@ -0,0 +1,36 @@ +*tmux-navigator.txt* Plugin to allow seamless navigation between tmux and vim + +============================================================================== +CONTENTS *tmux-navigator-contents* + + +============================================================================== +INTRODUCTION *tmux-navigator* + +Vim-tmux-navigator is a little plugin which enables seamless navigation +between tmux panes and vim splits. This plugin is a repackaging of Mislav +Marohinc's tmux=navigator configuration. When combined with a set of tmux key +bindings, the plugin will allow you to navigate seamlessly between vim and +tmux splits using a consistent set of hotkeys. + +NOTE: This requires tmux v1.8 or higher. + +============================================================================== +CONFIGURATION *tmux-navigator-configuration* + +* Activate autoupdate on exit + let g:tmux_navigator_save_on_switch = 1 + +* Disable vim->tmux navigation when the Vim pane is zoomed in tmux + let g:tmux_navigator_disable_when_zoomed = 1 + +* Custom Key Bindings + let g:tmux_navigator_no_mappings = 1 + + nnoremap {Left-mapping} :TmuxNavigateLeft + nnoremap {Down-Mapping} :TmuxNavigateDown + nnoremap {Up-Mapping} :TmuxNavigateUp + nnoremap {Right-Mapping} :TmuxNavigateRight + nnoremap {Previous-Mapping} :TmuxNavigatePrevious + + vim:tw=78:ts=8:ft=help:norl: diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/FETCH_HEAD b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/FETCH_HEAD new file mode 100644 index 0000000000000000000000000000000000000000..f02305384e7f81940a046987be0fd2e57326aa00 --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/FETCH_HEAD @@ -0,0 +1,3 @@ +4e1a877f51a17a961b8c2a285ee80aebf05ccf42 branch 'master' of https://github.com/christoomey/vim-tmux-navigator +2eb16d5dbf2b3366041c1ee7e48616bd144140ec not-for-merge branch 'cmd' of https://github.com/christoomey/vim-tmux-navigator +d28ccc4f63b9f6ce8ed83fa4db7d79fdf0dea0d2 not-for-merge branch 'empty-tmux' of https://github.com/christoomey/vim-tmux-navigator diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/HEAD b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/HEAD new file mode 100644 index 0000000000000000000000000000000000000000..cb089cd89a7d7686d284d8761201649346b5aa1c --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/ORIG_HEAD b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/ORIG_HEAD new file mode 100644 index 0000000000000000000000000000000000000000..3e401bde71ae27f01402ba4a8931aacb2c5ae874 --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/ORIG_HEAD @@ -0,0 +1 @@ +d724094e7128acd7375cc758008f1e1688130877 diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/config b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/config new file mode 100644 index 0000000000000000000000000000000000000000..9bb1582ef346df7902bff1e029bb1b2ead321de9 --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/config @@ -0,0 +1,11 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true +[remote "origin"] + url = https://github.com/christoomey/vim-tmux-navigator.git + fetch = +refs/heads/*:refs/remotes/origin/* +[branch "master"] + remote = origin + merge = refs/heads/master diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/description b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/description new file mode 100644 index 0000000000000000000000000000000000000000..498b267a8c7812490d6479839c5577eaaec79d62 --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/hooks/applypatch-msg.sample b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/hooks/applypatch-msg.sample new file mode 100755 index 0000000000000000000000000000000000000000..a5d7b84a673458d14d9aab082183a1968c2c7492 --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/hooks/applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +commitmsg="$(git rev-parse --git-path hooks/commit-msg)" +test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"} +: diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/hooks/commit-msg.sample b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/hooks/commit-msg.sample new file mode 100755 index 0000000000000000000000000000000000000000..b58d1184a9d43a39c0d95f32453efc78581877d6 --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/hooks/commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/hooks/post-update.sample b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/hooks/post-update.sample new file mode 100755 index 0000000000000000000000000000000000000000..ec17ec1939b7c3e86b7cb6c0c4de6b0818a7e75e --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/hooks/post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/hooks/pre-applypatch.sample b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/hooks/pre-applypatch.sample new file mode 100755 index 0000000000000000000000000000000000000000..4142082bcb939bbc17985a69ba748491ac6b62a5 --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/hooks/pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +precommit="$(git rev-parse --git-path hooks/pre-commit)" +test -x "$precommit" && exec "$precommit" ${1+"$@"} +: diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/hooks/pre-commit.sample b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/hooks/pre-commit.sample new file mode 100755 index 0000000000000000000000000000000000000000..68d62d5446d963dc69006ad9a83907c6690f92c1 --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/hooks/pre-commit.sample @@ -0,0 +1,49 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=4b825dc642cb6eb9a060e54bf8d69288fbee4904 +fi + +# If you want to allow non-ASCII filenames set this variable to true. +allownonascii=$(git config --bool hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ASCII filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + cat <<\EOF +Error: Attempt to add a non-ASCII file name. + +This can cause problems if you want to work with people on other platforms. + +To be portable it is advisable to rename the file. + +If you know what you are doing you can disable this check using: + + git config hooks.allownonascii true +EOF + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/hooks/pre-push.sample b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/hooks/pre-push.sample new file mode 100755 index 0000000000000000000000000000000000000000..6187dbf4390fc6e28445dd3d988aefb9d1111988 --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/hooks/pre-push.sample @@ -0,0 +1,53 @@ +#!/bin/sh + +# An example hook script to verify what is about to be pushed. Called by "git +# push" after it has checked the remote status, but before anything has been +# pushed. If this script exits with a non-zero status nothing will be pushed. +# +# This hook is called with the following parameters: +# +# $1 -- Name of the remote to which the push is being done +# $2 -- URL to which the push is being done +# +# If pushing without using a named remote those arguments will be equal. +# +# Information about the commits which are being pushed is supplied as lines to +# the standard input in the form: +# +# +# +# This sample shows how to prevent push of commits where the log message starts +# with "WIP" (work in progress). + +remote="$1" +url="$2" + +z40=0000000000000000000000000000000000000000 + +while read local_ref local_sha remote_ref remote_sha +do + if [ "$local_sha" = $z40 ] + then + # Handle delete + : + else + if [ "$remote_sha" = $z40 ] + then + # New branch, examine all commits + range="$local_sha" + else + # Update to existing branch, examine new commits + range="$remote_sha..$local_sha" + fi + + # Check for WIP commit + commit=`git rev-list -n 1 --grep '^WIP' "$range"` + if [ -n "$commit" ] + then + echo >&2 "Found WIP commit in $local_ref, not pushing" + exit 1 + fi + fi +done + +exit 0 diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/hooks/pre-rebase.sample b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/hooks/pre-rebase.sample new file mode 100755 index 0000000000000000000000000000000000000000..33730ca647cb2f7d77c64a6db08b362c18ed8464 --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/hooks/pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up-to-date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +<<\DOC_END + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". + +DOC_END diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/hooks/prepare-commit-msg.sample b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/hooks/prepare-commit-msg.sample new file mode 100755 index 0000000000000000000000000000000000000000..f093a02ec49918ab15e920f455979fd5ed732cf6 --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/hooks/prepare-commit-msg.sample @@ -0,0 +1,36 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first comments out the +# "Conflicts:" part of a merge commit. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +case "$2,$3" in + merge,) + /usr/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;; + +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$1" ;; + + *) ;; +esac + +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/hooks/update.sample b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/hooks/update.sample new file mode 100755 index 0000000000000000000000000000000000000000..80ba94135cc378364af9d3cb2450df48e51faf2c --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/hooks/update.sample @@ -0,0 +1,128 @@ +#!/bin/sh +# +# An example hook script to block unannotated tags from entering. +# Called by "git receive-pack" with arguments: refname sha1-old sha1-new +# +# To enable this hook, rename this file to "update". +# +# Config +# ------ +# hooks.allowunannotated +# This boolean sets whether unannotated tags will be allowed into the +# repository. By default they won't be. +# hooks.allowdeletetag +# This boolean sets whether deleting tags will be allowed in the +# repository. By default they won't be. +# hooks.allowmodifytag +# This boolean sets whether a tag may be modified after creation. By default +# it won't be. +# hooks.allowdeletebranch +# This boolean sets whether deleting branches will be allowed in the +# repository. By default they won't be. +# hooks.denycreatebranch +# This boolean sets whether remotely creating branches will be denied +# in the repository. By default this is allowed. +# + +# --- Command line +refname="$1" +oldrev="$2" +newrev="$3" + +# --- Safety check +if [ -z "$GIT_DIR" ]; then + echo "Don't run this script from the command line." >&2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --bool hooks.allowunannotated) +allowdeletebranch=$(git config --bool hooks.allowdeletebranch) +denycreatebranch=$(git config --bool hooks.denycreatebranch) +allowdeletetag=$(git config --bool hooks.allowdeletetag) +allowmodifytag=$(git config --bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero="0000000000000000000000000000000000000000" +if [ "$newrev" = "$zero" ]; then + newrev_type=delete +else + newrev_type=$(git cat-file -t $newrev) +fi + +case "$refname","$newrev_type" in + refs/tags/*,commit) + # un-annotated tag + short_refname=${refname##refs/tags/} + if [ "$allowunannotated" != "true" ]; then + echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/index b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/index new file mode 100644 index 0000000000000000000000000000000000000000..75d63b8772eaefe008030374410d9308b73e4b32 Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/index differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/info/exclude b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/info/exclude new file mode 100644 index 0000000000000000000000000000000000000000..a5196d1be8fb59edf8062bef36d3a602e0812139 --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/info/exclude @@ -0,0 +1,6 @@ +# git ls-files --others --exclude-from=.git/info/exclude +# Lines that start with '#' are comments. +# For a project mostly in C, the following would be a good set of +# exclude patterns (uncomment them if you want to use them): +# *.[oa] +# *~ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/logs/HEAD b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/logs/HEAD new file mode 100644 index 0000000000000000000000000000000000000000..02560d0b87bc1f02e9406381990a582dcffc5771 --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/logs/HEAD @@ -0,0 +1,33 @@ +0000000000000000000000000000000000000000 d724094e7128acd7375cc758008f1e1688130877 alpha 1512629985 +0800 clone: from https://github.com/christoomey/vim-tmux-navigator.git +d724094e7128acd7375cc758008f1e1688130877 d724094e7128acd7375cc758008f1e1688130877 alpha 1512630045 +0800 checkout: moving from master to master +d724094e7128acd7375cc758008f1e1688130877 d724094e7128acd7375cc758008f1e1688130877 alpha 1512630845 +0800 checkout: moving from master to master +d724094e7128acd7375cc758008f1e1688130877 d724094e7128acd7375cc758008f1e1688130877 alpha 1512633142 +0800 checkout: moving from master to master +d724094e7128acd7375cc758008f1e1688130877 d724094e7128acd7375cc758008f1e1688130877 alpha 1512633532 +0800 checkout: moving from master to master +d724094e7128acd7375cc758008f1e1688130877 d724094e7128acd7375cc758008f1e1688130877 alpha 1512633680 +0800 checkout: moving from master to master +d724094e7128acd7375cc758008f1e1688130877 d724094e7128acd7375cc758008f1e1688130877 alpha 1512634098 +0800 checkout: moving from master to master +d724094e7128acd7375cc758008f1e1688130877 d724094e7128acd7375cc758008f1e1688130877 alpha 1512635069 +0800 checkout: moving from master to master +d724094e7128acd7375cc758008f1e1688130877 d724094e7128acd7375cc758008f1e1688130877 alpha 1512635133 +0800 checkout: moving from master to master +d724094e7128acd7375cc758008f1e1688130877 d724094e7128acd7375cc758008f1e1688130877 alpha 1512635241 +0800 checkout: moving from master to master +d724094e7128acd7375cc758008f1e1688130877 d724094e7128acd7375cc758008f1e1688130877 alpha 1512636824 +0800 checkout: moving from master to master +d724094e7128acd7375cc758008f1e1688130877 d724094e7128acd7375cc758008f1e1688130877 alpha 1512638040 +0800 checkout: moving from master to master +d724094e7128acd7375cc758008f1e1688130877 d724094e7128acd7375cc758008f1e1688130877 alpha 1512638410 +0800 checkout: moving from master to master +d724094e7128acd7375cc758008f1e1688130877 d724094e7128acd7375cc758008f1e1688130877 alpha 1512638561 +0800 checkout: moving from master to master +d724094e7128acd7375cc758008f1e1688130877 d724094e7128acd7375cc758008f1e1688130877 alpha 1512638927 +0800 checkout: moving from master to master +d724094e7128acd7375cc758008f1e1688130877 d724094e7128acd7375cc758008f1e1688130877 alpha 1512639320 +0800 checkout: moving from master to master +d724094e7128acd7375cc758008f1e1688130877 d724094e7128acd7375cc758008f1e1688130877 alpha 1512639924 +0800 checkout: moving from master to master +d724094e7128acd7375cc758008f1e1688130877 d724094e7128acd7375cc758008f1e1688130877 alpha 1512640186 +0800 checkout: moving from master to master +d724094e7128acd7375cc758008f1e1688130877 d724094e7128acd7375cc758008f1e1688130877 alpha 1512640754 +0800 checkout: moving from master to master +d724094e7128acd7375cc758008f1e1688130877 d724094e7128acd7375cc758008f1e1688130877 alpha 1512640934 +0800 checkout: moving from master to master +d724094e7128acd7375cc758008f1e1688130877 d724094e7128acd7375cc758008f1e1688130877 alpha 1512641286 +0800 checkout: moving from master to master +d724094e7128acd7375cc758008f1e1688130877 d724094e7128acd7375cc758008f1e1688130877 alpha 1512641973 +0800 checkout: moving from master to master +d724094e7128acd7375cc758008f1e1688130877 d724094e7128acd7375cc758008f1e1688130877 alpha 1512642140 +0800 checkout: moving from master to master +d724094e7128acd7375cc758008f1e1688130877 d724094e7128acd7375cc758008f1e1688130877 alpha 1512642254 +0800 checkout: moving from master to master +d724094e7128acd7375cc758008f1e1688130877 d724094e7128acd7375cc758008f1e1688130877 alpha 1512642312 +0800 checkout: moving from master to master +d724094e7128acd7375cc758008f1e1688130877 d724094e7128acd7375cc758008f1e1688130877 alpha 1512642717 +0800 checkout: moving from master to master +d724094e7128acd7375cc758008f1e1688130877 d724094e7128acd7375cc758008f1e1688130877 alpha 1512643695 +0800 checkout: moving from master to master +d724094e7128acd7375cc758008f1e1688130877 d724094e7128acd7375cc758008f1e1688130877 alpha 1512643702 +0800 checkout: moving from master to master +d724094e7128acd7375cc758008f1e1688130877 d724094e7128acd7375cc758008f1e1688130877 alpha 1512643764 +0800 checkout: moving from master to master +d724094e7128acd7375cc758008f1e1688130877 d724094e7128acd7375cc758008f1e1688130877 alpha 1513745292 +0800 checkout: moving from master to master +d724094e7128acd7375cc758008f1e1688130877 d724094e7128acd7375cc758008f1e1688130877 Charlie Root 1520678368 +0800 checkout: moving from master to master +d724094e7128acd7375cc758008f1e1688130877 d724094e7128acd7375cc758008f1e1688130877 alpha 1555763374 +0800 checkout: moving from master to master +d724094e7128acd7375cc758008f1e1688130877 4e1a877f51a17a961b8c2a285ee80aebf05ccf42 alpha 1555763374 +0800 merge origin/master: Fast-forward diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/logs/refs/heads/master b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/logs/refs/heads/master new file mode 100644 index 0000000000000000000000000000000000000000..f56b4ab077beef0ae83a28962a0bb8733f28be74 --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/logs/refs/heads/master @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 d724094e7128acd7375cc758008f1e1688130877 alpha 1512629985 +0800 clone: from https://github.com/christoomey/vim-tmux-navigator.git +d724094e7128acd7375cc758008f1e1688130877 4e1a877f51a17a961b8c2a285ee80aebf05ccf42 alpha 1555763374 +0800 merge origin/master: Fast-forward diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/logs/refs/remotes/origin/HEAD b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/logs/refs/remotes/origin/HEAD new file mode 100644 index 0000000000000000000000000000000000000000..02403454c06910238e29f0c1745d61052a41de9f --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/logs/refs/remotes/origin/HEAD @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 d724094e7128acd7375cc758008f1e1688130877 alpha 1512629985 +0800 clone: from https://github.com/christoomey/vim-tmux-navigator.git diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/logs/refs/remotes/origin/cmd b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/logs/refs/remotes/origin/cmd new file mode 100644 index 0000000000000000000000000000000000000000..61e0fb6289d1fd1ffcf8aed3d828f30dd636db69 --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/logs/refs/remotes/origin/cmd @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 2eb16d5dbf2b3366041c1ee7e48616bd144140ec alpha 1555763026 +0800 fetch --progress: storing head diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/logs/refs/remotes/origin/empty-tmux b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/logs/refs/remotes/origin/empty-tmux new file mode 100644 index 0000000000000000000000000000000000000000..35973844eaeea3aca5b6be79477a507ae5e94562 --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/logs/refs/remotes/origin/empty-tmux @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 d28ccc4f63b9f6ce8ed83fa4db7d79fdf0dea0d2 alpha 1555763026 +0800 fetch --progress: storing head diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/logs/refs/remotes/origin/master b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/logs/refs/remotes/origin/master new file mode 100644 index 0000000000000000000000000000000000000000..55e0279cda036f22c67220351e41a13da99bb50a --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/logs/refs/remotes/origin/master @@ -0,0 +1 @@ +d724094e7128acd7375cc758008f1e1688130877 4e1a877f51a17a961b8c2a285ee80aebf05ccf42 alpha 1555763026 +0800 fetch --progress: fast-forward diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/04/6c81da30206ea9c71b1ffc5ed56e6727c62567 b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/04/6c81da30206ea9c71b1ffc5ed56e6727c62567 new file mode 100644 index 0000000000000000000000000000000000000000..8b2b22eeaf2778d7df525b73bcde2af34c818569 Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/04/6c81da30206ea9c71b1ffc5ed56e6727c62567 differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/11/ac8fc4e1e9291a5e2cb32745737b0c55c1b54e b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/11/ac8fc4e1e9291a5e2cb32745737b0c55c1b54e new file mode 100644 index 0000000000000000000000000000000000000000..966a8aaba2280293e14ccd5dabf641dbfdf58a9b Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/11/ac8fc4e1e9291a5e2cb32745737b0c55c1b54e differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/17/bdf4f1660b0ea507d523955901f9823ea0f03b b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/17/bdf4f1660b0ea507d523955901f9823ea0f03b new file mode 100644 index 0000000000000000000000000000000000000000..167c80ff8513253f20d690544d36968288c4001f Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/17/bdf4f1660b0ea507d523955901f9823ea0f03b differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/18/b775fbccde5ff02e516c014290650bb40e257d b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/18/b775fbccde5ff02e516c014290650bb40e257d new file mode 100644 index 0000000000000000000000000000000000000000..1f30c33ceb119932ad78cf08226fbfc9a1561fbb Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/18/b775fbccde5ff02e516c014290650bb40e257d differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/1c/e6c323a3c4f76c45bedbaf642661c1b65a59f9 b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/1c/e6c323a3c4f76c45bedbaf642661c1b65a59f9 new file mode 100644 index 0000000000000000000000000000000000000000..e386aa0aa1ef55bbc6372617a7caa9803a64cdf1 --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/1c/e6c323a3c4f76c45bedbaf642661c1b65a59f9 @@ -0,0 +1,2 @@ +xN09)VNf>@&dcɱ{²odV=h44Ϟmg"Ю6#6 9 Hjl]3ݽ53Eߒ;Z[k;c;ep)eSWex{~ޖ6n^VR=c_A#Zϲ9/_D tNV/mB|a04Bq +g_4pVװlj"IJ rId2靠/b=K^s<>ʻߋ|@F#Y* %8dy&\|No G,kA# 3p< !`D)nOغ \ No newline at end of file diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/1e/e3fff064dedcb7ec3b5deabb6df0adb871eee7 b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/1e/e3fff064dedcb7ec3b5deabb6df0adb871eee7 new file mode 100644 index 0000000000000000000000000000000000000000..bf6757bc9e39fa7cb26022d891fa4872b4e3c996 Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/1e/e3fff064dedcb7ec3b5deabb6df0adb871eee7 differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/21/595bb119c1db392b9d8fe251d1e60c54e9a1f0 b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/21/595bb119c1db392b9d8fe251d1e60c54e9a1f0 new file mode 100644 index 0000000000000000000000000000000000000000..1ad9bdc0eb96ee2a9d5c0a61764563685a3caadb Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/21/595bb119c1db392b9d8fe251d1e60c54e9a1f0 differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/22/734100c02990ff090f3544319620ef3f516dea b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/22/734100c02990ff090f3544319620ef3f516dea new file mode 100644 index 0000000000000000000000000000000000000000..70a11d75a0f15d9fbc1aaa5073d5282e8369344a --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/22/734100c02990ff090f3544319620ef3f516dea @@ -0,0 +1 @@ +xA0E]sԶ$Ęx/NGĄ [5`}{-ЅIx9KhsJDZsZʤF6xQiGE6]K}Gpƀh̡ê1W1?H. \ No newline at end of file diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/24/bbb08024e7963bda88f4f09645fb8a333502d2 b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/24/bbb08024e7963bda88f4f09645fb8a333502d2 new file mode 100644 index 0000000000000000000000000000000000000000..6b19a4c218173ed8176f8821107f222aa9256736 Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/24/bbb08024e7963bda88f4f09645fb8a333502d2 differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/2a/398ef759436082cd34f597c627be8006cd34bd b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/2a/398ef759436082cd34f597c627be8006cd34bd new file mode 100644 index 0000000000000000000000000000000000000000..d88b26c2dc8ac19f5e794c654421083406b1ac39 Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/2a/398ef759436082cd34f597c627be8006cd34bd differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/2e/b16d5dbf2b3366041c1ee7e48616bd144140ec b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/2e/b16d5dbf2b3366041c1ee7e48616bd144140ec new file mode 100644 index 0000000000000000000000000000000000000000..d5433693fd913a3b40a85cf7a713ff8df435d3bb --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/2e/b16d5dbf2b3366041c1ee7e48616bd144140ec @@ -0,0 +1 @@ +xN0 D9+q7@3lǡnI|*N\>ͼ]ilojX\R1ZT9'`̫ i v'X"^(q5;ڰh'xd+<} vٖP>J(a@t6]>}sڮ/r\ʎެqS \ No newline at end of file diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/35/035527fded91ced20432efe45c6daf263592eb b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/35/035527fded91ced20432efe45c6daf263592eb new file mode 100644 index 0000000000000000000000000000000000000000..0d6c26151b94c93f1f0c9f3e119542e8c43c7149 Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/35/035527fded91ced20432efe45c6daf263592eb differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/42/cab1f4b7519c3f993c723d70e0fe4f1e6a3769 b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/42/cab1f4b7519c3f993c723d70e0fe4f1e6a3769 new file mode 100644 index 0000000000000000000000000000000000000000..982ea26022b148aa9205b81376c4aa204e7d9ba1 Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/42/cab1f4b7519c3f993c723d70e0fe4f1e6a3769 differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/49/0fa34496288aea726a846ea41499c3ed39a508 b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/49/0fa34496288aea726a846ea41499c3ed39a508 new file mode 100644 index 0000000000000000000000000000000000000000..294c61637b1c0af2e0f8e43ff06eb1ae834a35a9 Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/49/0fa34496288aea726a846ea41499c3ed39a508 differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/4d/cce42ac5868a36329b2570c159f1cbf416e749 b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/4d/cce42ac5868a36329b2570c159f1cbf416e749 new file mode 100644 index 0000000000000000000000000000000000000000..04d91894adf8cdfb07a68a51fe3b4c9d9047ccb6 Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/4d/cce42ac5868a36329b2570c159f1cbf416e749 differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/4e/1a877f51a17a961b8c2a285ee80aebf05ccf42 b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/4e/1a877f51a17a961b8c2a285ee80aebf05ccf42 new file mode 100644 index 0000000000000000000000000000000000000000..fdba100a7faaef1ce9f0f6b1e8afb18b8ce678b9 --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/4e/1a877f51a17a961b8c2a285ee80aebf05ccf42 @@ -0,0 +1 @@ +xKj0E;*tܢPJCй)6XV: {c-e ydUB紖Bq#ĥ]|61pmN腱"I%L9aڧ4yZ }K[ky1hQ;u\s1%8L\ C/q{mc7?&Zim(%ǹYn \ No newline at end of file diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/4f/5707e5fac50ecc1bbc4bccb0fbe3e57819924c b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/4f/5707e5fac50ecc1bbc4bccb0fbe3e57819924c new file mode 100644 index 0000000000000000000000000000000000000000..1d61e2dd5f841aab7110e6dbf745db5ea79c403b Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/4f/5707e5fac50ecc1bbc4bccb0fbe3e57819924c differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/4f/bfcfa96eb829c4471a949720fe92778a471b36 b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/4f/bfcfa96eb829c4471a949720fe92778a471b36 new file mode 100644 index 0000000000000000000000000000000000000000..36eb84d50dd1332d59e69cdea94d81d8d849872a Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/4f/bfcfa96eb829c4471a949720fe92778a471b36 differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/5a/6873252a063d9652b70554c658b7766c6abf65 b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/5a/6873252a063d9652b70554c658b7766c6abf65 new file mode 100644 index 0000000000000000000000000000000000000000..7a9d92a85c8d8610409d600dc43473a3ba0acb71 Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/5a/6873252a063d9652b70554c658b7766c6abf65 differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/6d/9f6dffad37a99b3e43f68f05307664e0defad8 b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/6d/9f6dffad37a99b3e43f68f05307664e0defad8 new file mode 100644 index 0000000000000000000000000000000000000000..fe294115103cbd3beade83af48b3202b5bc9eb90 Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/6d/9f6dffad37a99b3e43f68f05307664e0defad8 differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/79/56f3af283da29786c05add835caeb160006fac b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/79/56f3af283da29786c05add835caeb160006fac new file mode 100644 index 0000000000000000000000000000000000000000..a4a3c134387a570b4faaed94843b48f4db862aab Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/79/56f3af283da29786c05add835caeb160006fac differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/7a/9111730dccf52cae1cb295ac155559090fbeb2 b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/7a/9111730dccf52cae1cb295ac155559090fbeb2 new file mode 100644 index 0000000000000000000000000000000000000000..302217aca79cc77b6c3013d2cc100aaff158a21d Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/7a/9111730dccf52cae1cb295ac155559090fbeb2 differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/7b/c45c9152b5ca58f5cf3615fdcf241d30d0536c b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/7b/c45c9152b5ca58f5cf3615fdcf241d30d0536c new file mode 100644 index 0000000000000000000000000000000000000000..fcd0e5a4394c87a92fc8a2c8c00f622035e039da Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/7b/c45c9152b5ca58f5cf3615fdcf241d30d0536c differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/7d/1806eec1782ed06b5fea0c7cd2c0f5d2fb69c8 b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/7d/1806eec1782ed06b5fea0c7cd2c0f5d2fb69c8 new file mode 100644 index 0000000000000000000000000000000000000000..8d717b60a6f757bf5d12dedb5770a64b66fb285f Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/7d/1806eec1782ed06b5fea0c7cd2c0f5d2fb69c8 differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/7e/b75a10e3ab0504673a0e7eb32af6e5521b80ec b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/7e/b75a10e3ab0504673a0e7eb32af6e5521b80ec new file mode 100644 index 0000000000000000000000000000000000000000..7e48a57ba9e83b7426b47a13e4141b0e951ffbbd Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/7e/b75a10e3ab0504673a0e7eb32af6e5521b80ec differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/80/8554aa86ec24990680aee2c72abe8efd6ea91a b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/80/8554aa86ec24990680aee2c72abe8efd6ea91a new file mode 100644 index 0000000000000000000000000000000000000000..e97257f7dd86798c0ee06a02c47780c676cb71b0 Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/80/8554aa86ec24990680aee2c72abe8efd6ea91a differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/81/816629d24dbb962f6eb0130154953a0a80e132 b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/81/816629d24dbb962f6eb0130154953a0a80e132 new file mode 100644 index 0000000000000000000000000000000000000000..a873d2dec80473e5faef06150a4c25a3ce8c3fa6 Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/81/816629d24dbb962f6eb0130154953a0a80e132 differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/85/b8e5f60c1690cde57dbb66467ce39cd1b63343 b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/85/b8e5f60c1690cde57dbb66467ce39cd1b63343 new file mode 100644 index 0000000000000000000000000000000000000000..59d87c5ad6bb68cda45e90897cf3ea8a6edeab6e Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/85/b8e5f60c1690cde57dbb66467ce39cd1b63343 differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/92/6ccaaf933c481eaa94173f7743a6b1ad9aeec7 b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/92/6ccaaf933c481eaa94173f7743a6b1ad9aeec7 new file mode 100644 index 0000000000000000000000000000000000000000..5cb7d641faea88f2c7704568648e3d4171294c43 Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/92/6ccaaf933c481eaa94173f7743a6b1ad9aeec7 differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/94/39c31d97ec99dcaf450dbe618a2341cf0db920 b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/94/39c31d97ec99dcaf450dbe618a2341cf0db920 new file mode 100644 index 0000000000000000000000000000000000000000..425058b1951f17b4a0ea54a531037107842ffb99 Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/94/39c31d97ec99dcaf450dbe618a2341cf0db920 differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/9a/4e73d89944213abba3fc13a6819e08e021ecf8 b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/9a/4e73d89944213abba3fc13a6819e08e021ecf8 new file mode 100644 index 0000000000000000000000000000000000000000..83debe4ffa7e0d2ef5a16c4ad7810ba4118d46cf Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/9a/4e73d89944213abba3fc13a6819e08e021ecf8 differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/9b/6727d1b9b0283e2bab36f0b4cceff66902e1ac b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/9b/6727d1b9b0283e2bab36f0b4cceff66902e1ac new file mode 100644 index 0000000000000000000000000000000000000000..4bc1610ef578da9172e20c54bc53e853d505dbb8 Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/9b/6727d1b9b0283e2bab36f0b4cceff66902e1ac differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/9b/e41ef6694df62aa6de28045fb68afaf3f3dc26 b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/9b/e41ef6694df62aa6de28045fb68afaf3f3dc26 new file mode 100644 index 0000000000000000000000000000000000000000..bc2d68432b75296f26391439173c951a3f137e43 Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/9b/e41ef6694df62aa6de28045fb68afaf3f3dc26 differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/9f/7d1588b04644d8a1671d2325fefbb4f772e466 b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/9f/7d1588b04644d8a1671d2325fefbb4f772e466 new file mode 100644 index 0000000000000000000000000000000000000000..4019bebf48f23f61451f6c805a0cc9baa349d924 --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/9f/7d1588b04644d8a1671d2325fefbb4f772e466 @@ -0,0 +1,2 @@ +xEAj0E) YcJh7]uQz09WΦ=b;K2)bdR+aޑ}0B$p媹qh_GI,٨ Tr + I7q7@r kn~5৔8N'iOw4u5MŒC|i1[ cUi \ No newline at end of file diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/a0/d32f623d269b1a70a93e69f27eea2afc7ff94c b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/a0/d32f623d269b1a70a93e69f27eea2afc7ff94c new file mode 100644 index 0000000000000000000000000000000000000000..91217694d34960805d3280ac03b856c9b358bcc3 Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/a0/d32f623d269b1a70a93e69f27eea2afc7ff94c differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/a6/782ad657f23e0c44ab1a96d91ac7dc4e3c813e b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/a6/782ad657f23e0c44ab1a96d91ac7dc4e3c813e new file mode 100644 index 0000000000000000000000000000000000000000..de916ca827f8afd213e6e243d5c57e61c04e39bf Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/a6/782ad657f23e0c44ab1a96d91ac7dc4e3c813e differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/a7/2de8083af310b252ce766d7ca80efe411b14ca b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/a7/2de8083af310b252ce766d7ca80efe411b14ca new file mode 100644 index 0000000000000000000000000000000000000000..faac9a8c39b87240dc392b791fc92f13baeb3161 Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/a7/2de8083af310b252ce766d7ca80efe411b14ca differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/b6/bc664d073112d3981f00353e8cb42a2fcdb458 b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/b6/bc664d073112d3981f00353e8cb42a2fcdb458 new file mode 100644 index 0000000000000000000000000000000000000000..0d392dfc1e8a812e1cea02934f5c9141a6c326f2 Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/b6/bc664d073112d3981f00353e8cb42a2fcdb458 differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/b9/061be9c800b59da79bf03bce3cb82bb975602e b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/b9/061be9c800b59da79bf03bce3cb82bb975602e new file mode 100644 index 0000000000000000000000000000000000000000..6f3bdb6720f5e36afd58a500b0507712a2fbe615 Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/b9/061be9c800b59da79bf03bce3cb82bb975602e differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/c5/ecbb64e8968f5f5f6d12ca94f8f35174785aa3 b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/c5/ecbb64e8968f5f5f6d12ca94f8f35174785aa3 new file mode 100644 index 0000000000000000000000000000000000000000..1040aae9bffdf48ae44eb2e33fea7dce9764a295 Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/c5/ecbb64e8968f5f5f6d12ca94f8f35174785aa3 differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/c6/40df2f118d3c0fa8097c518a60dfa53baed4a0 b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/c6/40df2f118d3c0fa8097c518a60dfa53baed4a0 new file mode 100644 index 0000000000000000000000000000000000000000..44e23f76744b5febab48101a2a2da2b6e571d49c Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/c6/40df2f118d3c0fa8097c518a60dfa53baed4a0 differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/d0/30f75e2932605cfc1417ca2ebb3fd5192c2a8e b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/d0/30f75e2932605cfc1417ca2ebb3fd5192c2a8e new file mode 100644 index 0000000000000000000000000000000000000000..57917697236d29751799556294d3c0668f1c97b6 --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/d0/30f75e2932605cfc1417ca2ebb3fd5192c2a8e @@ -0,0 +1 @@ +x%MO@E]+^;C1MtƍtAxT&s|H euG"HͤC=XW #u%n XXrQ:{Kʚ#7e%+Bm ;xumH{jgIa F3eG&Տs;)xkܬְJJ9S6#i&H5Fjpxʲw(Vv9^W RbS;QqB0~y\1\gOm \ No newline at end of file diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/d2/8ccc4f63b9f6ce8ed83fa4db7d79fdf0dea0d2 b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/d2/8ccc4f63b9f6ce8ed83fa4db7d79fdf0dea0d2 new file mode 100644 index 0000000000000000000000000000000000000000..431e66d0842588c6e4ed0c58602af9e6be7b7d95 --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/d2/8ccc4f63b9f6ce8ed83fa4db7d79fdf0dea0d2 @@ -0,0 +1,2 @@ +xN0EOKd D_b$=]1Hi.hATJ.`h X#v(넖xfDhX۠:4{,cȵ\2kL +ż (GaZ4`}mGZ=0 wI`J&LǙpVUO 롮XM\r\Ҹ|&wJsZ0~ֵONVk.4lu \ No newline at end of file diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/d7/24094e7128acd7375cc758008f1e1688130877 b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/d7/24094e7128acd7375cc758008f1e1688130877 new file mode 100644 index 0000000000000000000000000000000000000000..34e400e748488cf1deb6c0d56485d42a4740e448 Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/d7/24094e7128acd7375cc758008f1e1688130877 differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/db/b398f60eb509e24d1c3d2632fbec078e3a1285 b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/db/b398f60eb509e24d1c3d2632fbec078e3a1285 new file mode 100644 index 0000000000000000000000000000000000000000..8ab9ddc8f4d051f1fbf07f94e767a1c349167447 Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/db/b398f60eb509e24d1c3d2632fbec078e3a1285 differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/ef/3ae93d310b602292fb7211bc967721e008021a b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/ef/3ae93d310b602292fb7211bc967721e008021a new file mode 100644 index 0000000000000000000000000000000000000000..34bb9a170192832b2658362631616324873718bb Binary files /dev/null and b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/objects/ef/3ae93d310b602292fb7211bc967721e008021a differ diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/packed-refs b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/packed-refs new file mode 100644 index 0000000000000000000000000000000000000000..27c7a45619a4b06305079afb658c0575f6b5c51d --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/packed-refs @@ -0,0 +1,4 @@ +# pack-refs with: peeled fully-peeled +d724094e7128acd7375cc758008f1e1688130877 refs/remotes/origin/master +22734100c02990ff090f3544319620ef3f516dea refs/tags/v1.0 +^85b8e5f60c1690cde57dbb66467ce39cd1b63343 diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/refs/heads/master b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/refs/heads/master new file mode 100644 index 0000000000000000000000000000000000000000..50f15fc33b06f5f6cdff7db4799f2d43ad81bdab --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/refs/heads/master @@ -0,0 +1 @@ +4e1a877f51a17a961b8c2a285ee80aebf05ccf42 diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/refs/remotes/origin/HEAD b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/refs/remotes/origin/HEAD new file mode 100644 index 0000000000000000000000000000000000000000..6efe28fff834a94fbc20cac51fe9cd65ecc78d43 --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/refs/remotes/origin/HEAD @@ -0,0 +1 @@ +ref: refs/remotes/origin/master diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/refs/remotes/origin/cmd b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/refs/remotes/origin/cmd new file mode 100644 index 0000000000000000000000000000000000000000..1cd303d8aa5a7c09cb85dbb888df7d2a1bf56baa --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/refs/remotes/origin/cmd @@ -0,0 +1 @@ +2eb16d5dbf2b3366041c1ee7e48616bd144140ec diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/refs/remotes/origin/empty-tmux b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/refs/remotes/origin/empty-tmux new file mode 100644 index 0000000000000000000000000000000000000000..b1169c2d85165ca6daee8a4c40538a4e07bafe44 --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/refs/remotes/origin/empty-tmux @@ -0,0 +1 @@ +d28ccc4f63b9f6ce8ed83fa4db7d79fdf0dea0d2 diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/refs/remotes/origin/master b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/refs/remotes/origin/master new file mode 100644 index 0000000000000000000000000000000000000000..50f15fc33b06f5f6cdff7db4799f2d43ad81bdab --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/refs/remotes/origin/master @@ -0,0 +1 @@ +4e1a877f51a17a961b8c2a285ee80aebf05ccf42 diff --git a/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/shallow b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/shallow new file mode 100644 index 0000000000000000000000000000000000000000..08a62ed6ab14939bc083b851a532b6f7700989ab --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/git-noneedsubmodule/shallow @@ -0,0 +1,2 @@ +85b8e5f60c1690cde57dbb66467ce39cd1b63343 +d724094e7128acd7375cc758008f1e1688130877 diff --git a/home/vim/bundle/vim-tmux-navigator/pattern-check b/home/vim/bundle/vim-tmux-navigator/pattern-check new file mode 100644 index 0000000000000000000000000000000000000000..c5ecbb64e8968f5f5f6d12ca94f8f35174785aa3 --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/pattern-check @@ -0,0 +1,42 @@ +#!/usr/bin/env bash +# +# Collection of various test strings that could be the output of the tmux +# 'pane_current_comamnd' message. Included as regression test for updates to +# the inline grep pattern used in the `.tmux.conf` configuration + +set -e + +RED=$(tput setaf 1) +GREEN=$(tput setaf 2) +YELLOW=$(tput setaf 3) +NORMAL=$(tput sgr0) + +vim_pattern='(^|\/)g?(view|n?vim?x?)(diff)?$' +match_tests=(vim Vim VIM vimdiff /usr/local/bin/vim vi gvim view gview nvim vimx) +no_match_tests=( /Users/christoomey/.vim/thing /usr/local/bin/start-vim ) + +display_matches() { + for process_name in "$@"; do + printf "%s %s\n" "$(matches_vim_pattern $process_name)" "$process_name" + done +} + +matches_vim_pattern() { + if echo "$1" | grep -iqE "$vim_pattern"; then + echo "${GREEN}match${NORMAL}" + else + echo "${RED}fail${NORMAL}" + fi +} + +main() { + echo "Testing against pattern: ${YELLOW}$vim_pattern${NORMAL}\n" + + echo "These should all ${GREEN}match${NORMAL}\n----------------------" + display_matches "${match_tests[@]}" + + echo "\nThese should all ${RED}fail${NORMAL}\n---------------------" + display_matches "${no_match_tests[@]}" +} + +main diff --git a/home/vim/bundle/vim-tmux-navigator/plugin/tmux_navigator.vim b/home/vim/bundle/vim-tmux-navigator/plugin/tmux_navigator.vim new file mode 100644 index 0000000000000000000000000000000000000000..21595bb119c1db392b9d8fe251d1e60c54e9a1f0 --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/plugin/tmux_navigator.vim @@ -0,0 +1,120 @@ +" Maps to switch vim splits in the given direction. If there are +" no more windows in that direction, forwards the operation to tmux. +" Additionally, toggles between last active vim splits/tmux panes. + +if exists("g:loaded_tmux_navigator") || &cp || v:version < 700 + finish +endif +let g:loaded_tmux_navigator = 1 + +function! s:VimNavigate(direction) + try + execute 'wincmd ' . a:direction + catch + echohl ErrorMsg | echo 'E11: Invalid in command-line window; executes, CTRL-C quits: wincmd k' | echohl None + endtry +endfunction + +if !get(g:, 'tmux_navigator_no_mappings', 0) + nnoremap :TmuxNavigateLeft + nnoremap :TmuxNavigateDown + nnoremap :TmuxNavigateUp + nnoremap :TmuxNavigateRight + nnoremap :TmuxNavigatePrevious +endif + +if empty($TMUX) + command! TmuxNavigateLeft call s:VimNavigate('h') + command! TmuxNavigateDown call s:VimNavigate('j') + command! TmuxNavigateUp call s:VimNavigate('k') + command! TmuxNavigateRight call s:VimNavigate('l') + command! TmuxNavigatePrevious call s:VimNavigate('p') + finish +endif + +command! TmuxNavigateLeft call s:TmuxAwareNavigate('h') +command! TmuxNavigateDown call s:TmuxAwareNavigate('j') +command! TmuxNavigateUp call s:TmuxAwareNavigate('k') +command! TmuxNavigateRight call s:TmuxAwareNavigate('l') +command! TmuxNavigatePrevious call s:TmuxAwareNavigate('p') + +if !exists("g:tmux_navigator_save_on_switch") + let g:tmux_navigator_save_on_switch = 0 +endif + +if !exists("g:tmux_navigator_disable_when_zoomed") + let g:tmux_navigator_disable_when_zoomed = 0 +endif + +function! s:TmuxOrTmateExecutable() + return (match($TMUX, 'tmate') != -1 ? 'tmate' : 'tmux') +endfunction + +function! s:TmuxVimPaneIsZoomed() + return s:TmuxCommand("display-message -p '#{window_zoomed_flag}'") == 1 +endfunction + +function! s:TmuxSocket() + " The socket path is the first value in the comma-separated list of $TMUX. + return split($TMUX, ',')[0] +endfunction + +function! s:TmuxCommand(args) + let cmd = s:TmuxOrTmateExecutable() . ' -S ' . s:TmuxSocket() . ' ' . a:args + return system(cmd) +endfunction + +function! s:TmuxNavigatorProcessList() + echo s:TmuxCommand("run-shell 'ps -o state= -o comm= -t ''''#{pane_tty}'''''") +endfunction +command! TmuxNavigatorProcessList call s:TmuxNavigatorProcessList() + +let s:tmux_is_last_pane = 0 +augroup tmux_navigator + au! + autocmd WinEnter * let s:tmux_is_last_pane = 0 +augroup END + +function! s:NeedsVitalityRedraw() + return exists('g:loaded_vitality') && v:version < 704 && !has("patch481") +endfunction + +function! s:ShouldForwardNavigationBackToTmux(tmux_last_pane, at_tab_page_edge) + if g:tmux_navigator_disable_when_zoomed && s:TmuxVimPaneIsZoomed() + return 0 + endif + return a:tmux_last_pane || a:at_tab_page_edge +endfunction + +function! s:TmuxAwareNavigate(direction) + let nr = winnr() + let tmux_last_pane = (a:direction == 'p' && s:tmux_is_last_pane) + if !tmux_last_pane + call s:VimNavigate(a:direction) + endif + let at_tab_page_edge = (nr == winnr()) + " Forward the switch panes command to tmux if: + " a) we're toggling between the last tmux pane; + " b) we tried switching windows in vim but it didn't have effect. + if s:ShouldForwardNavigationBackToTmux(tmux_last_pane, at_tab_page_edge) + if g:tmux_navigator_save_on_switch == 1 + try + update " save the active buffer. See :help update + catch /^Vim\%((\a\+)\)\=:E32/ " catches the no file name error + endtry + elseif g:tmux_navigator_save_on_switch == 2 + try + wall " save all the buffers. See :help wall + catch /^Vim\%((\a\+)\)\=:E141/ " catches the no file name error + endtry + endif + let args = 'select-pane -t ' . shellescape($TMUX_PANE) . ' -' . tr(a:direction, 'phjkl', 'lLDUR') + silent call s:TmuxCommand(args) + if s:NeedsVitalityRedraw() + redraw! + endif + let s:tmux_is_last_pane = 1 + else + let s:tmux_is_last_pane = 0 + endif +endfunction diff --git a/home/vim/bundle/vim-tmux-navigator/vim-tmux-navigator.tmux b/home/vim/bundle/vim-tmux-navigator/vim-tmux-navigator.tmux new file mode 100755 index 0000000000000000000000000000000000000000..42cab1f4b7519c3f993c723d70e0fe4f1e6a3769 --- /dev/null +++ b/home/vim/bundle/vim-tmux-navigator/vim-tmux-navigator.tmux @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +is_vim="ps -o state= -o comm= -t '#{pane_tty}' \ + | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'" +tmux bind-key -n C-h if-shell "$is_vim" "send-keys C-h" "select-pane -L" +tmux bind-key -n C-j if-shell "$is_vim" "send-keys C-j" "select-pane -D" +tmux bind-key -n C-k if-shell "$is_vim" "send-keys C-k" "select-pane -U" +tmux bind-key -n C-l if-shell "$is_vim" "send-keys C-l" "select-pane -R" +tmux bind-key -n C-\\ if-shell "$is_vim" "send-keys C-\\" "select-pane -l" +tmux bind-key -T copy-mode-vi C-h select-pane -L +tmux bind-key -T copy-mode-vi C-j select-pane -D +tmux bind-key -T copy-mode-vi C-k select-pane -U +tmux bind-key -T copy-mode-vi C-l select-pane -R +tmux bind-key -T copy-mode-vi C-\\ select-pane -l