diff --git a/playbooks/roles/arch/tasks/main.yml b/playbooks/roles/arch/tasks/main.yml index 39d9fb0..4089e6a 100644 --- a/playbooks/roles/arch/tasks/main.yml +++ b/playbooks/roles/arch/tasks/main.yml @@ -17,6 +17,7 @@ - tmux - gnupg - neovim + - skim state: latest - name: Install Development Tools diff --git a/playbooks/roles/fedora/tasks/main.yml b/playbooks/roles/fedora/tasks/main.yml index 8b76a08..2d55598 100644 --- a/playbooks/roles/fedora/tasks/main.yml +++ b/playbooks/roles/fedora/tasks/main.yml @@ -18,7 +18,7 @@ - gpg - neovim - hstr - - fzf + - skim state: latest - name: Install @development-tools diff --git a/playbooks/roles/macos/tasks/main.yml b/playbooks/roles/macos/tasks/main.yml index 0a52018..a3ce307 100644 --- a/playbooks/roles/macos/tasks/main.yml +++ b/playbooks/roles/macos/tasks/main.yml @@ -7,7 +7,7 @@ - name: Homebrew - install most packages homebrew: update_homebrew: yes - name: neovim,git,gnu-tar,zstd + name: neovim,git,gnu-tar,zstd,skim - name: Homebrew - Install zsh homebrew: diff --git a/playbooks/roles/opensuse/tasks/main.yml b/playbooks/roles/opensuse/tasks/main.yml index 39dd0d2..d948e31 100644 --- a/playbooks/roles/opensuse/tasks/main.yml +++ b/playbooks/roles/opensuse/tasks/main.yml @@ -17,7 +17,6 @@ - tmux - gpg - neovim - - fzf state: latest - name: Install devel_* @@ -42,3 +41,18 @@ - clang - libopenssl-devel state: latest + +- name: Add rust_apps repo + command: zypper ar https://download.opensuse.org/repositories/home:/luke_nukem:/rust_apps/openSUSE_Tumbleweed/home:luke_nukem:rust_apps.repo + args: + creates: /etc/zypp/repos.d/home_luke_nukem_rust_apps.repo + +- name: Install skim + command: zypper --no-gpg-check in -y skim + +- name: Put sk-tmux in ~/bin directory¬ + get_url: + url: https://raw.githubusercontent.com/lotabout/skim/v0.6.8/bin/sk-tmux + dest: ~/bin/sk-tmux + checksum: 3f9b531a6fbd49fc501ff430d4d2f92122ccfe73d95fa121a234de4f7be1d5e2 + diff --git a/zsh/funcs/fzf.funcs b/zsh/funcs/fzf.funcs deleted file mode 100644 index 7944d7b..0000000 --- a/zsh/funcs/fzf.funcs +++ /dev/null @@ -1,23 +0,0 @@ -# from the fzf examples wiki -bind '"\C-r": "\C-x1\e^\er"' -bind -x '"\C-x1": __fzf_history'; - -__fzf_history () -{ -__ehc $(history | fzf --tac --tiebreak=index | perl -ne 'm/^\s*([0-9]+)/ and print "!$1"') -} - -__ehc() -{ -if - [[ -n $1 ]] -then - bind '"\er": redraw-current-line' - bind '"\e^": magic-space' - READLINE_LINE=${READLINE_LINE:+${READLINE_LINE:0:READLINE_POINT}}${1}${READLINE_LINE:+${READLINE_LINE:READLINE_POINT}} - READLINE_POINT=$(( READLINE_POINT + ${#1} )) -else - bind '"\er":' - bind '"\e^":' -fi -} diff --git a/zsh/funcs/skim.funcs b/zsh/funcs/skim.funcs new file mode 100644 index 0000000..2e1061c --- /dev/null +++ b/zsh/funcs/skim.funcs @@ -0,0 +1,19 @@ +# This entire thing almost entirely, shamelessly stolen from fzf/shell/key-bindings.zsh, replacing fzf with skim +export SKIM_DEFAULT_COMMAND="rg --files" +skim-history-widget() { + local selected num + setopt localoptions noglobsubst noposixbuiltins pipefail no_aliases 2> /dev/null + selected=( $(fc -rl 1 | + SKIM_DEFAULT_OPTS="--height ${SKIM_TMUX_HEIGHT:-40%} $SKIM_DEFAULT_OPTS -n2..,.. --tiebreak=index --bind=ctrl-r:toggle-sort $SKIM_CTRL_R_OPTS --query=${(qqq)LBUFFER} +m" sk-tmux -d${SKIM_TMUX_HEIGHT} )) + local ret=$? + if [ -n "$selected" ]; then + num=$selected[1] + if [ -n "$num" ]; then + zle vi-fetch-history -n $num + fi + fi + zle reset-prompt + return $ret +} +zle -N skim-history-widget +bindkey '^R' skim-history-widget diff --git a/zsh/zsh_plugins.txt b/zsh/zsh_plugins.txt index 1c63b24..d3fc2b9 100644 --- a/zsh/zsh_plugins.txt +++ b/zsh/zsh_plugins.txt @@ -1,6 +1,5 @@ robbyrussell/oh-my-zsh path:plugins/git robbyrussell/oh-my-zsh path:plugins/vi-mode -robbyrussell/oh-my-zsh path:plugins/fzf robbyrussell/oh-my-zsh path:plugins/gitignore robbyrussell/oh-my-zsh path:plugins/pass robbyrussell/oh-my-zsh path:plugins/ripgrep diff --git a/zsh/zshrc b/zsh/zshrc index 599fc7b..53f2c9b 100644 --- a/zsh/zshrc +++ b/zsh/zshrc @@ -1,5 +1,3 @@ -# Lines configured by zsh-newuser-install - HISTFILE=~/.histfile HISTSIZE=10000 SAVEHIST=10000 @@ -9,8 +7,6 @@ bindkey -v export RPROMPT=' ' # Fixes a side-effect of the vi-mode oh-my-zsh plugin export KEYTIMEOUT=1 -#keybindings - fpath=(~/bin ~/.zshcompletions $fpath) zstyle :compinstall filename '/home/anthonys/.zshrc' zstyle ":completion:*" complete _complete _ignored _approximate _expand @@ -27,6 +23,7 @@ zle -N down-line-or-beginning-search [[ -n "$key[Up]" ]] && bindkey -- "$key[Up]" up-line-or-beginning-search [[ -n "$key[Down]" ]] && bindkey -- "$key[Down]" down-line-or-beginning-search +bindkey "^R" __history_search autoload -Uz compinit promptinit promptinit @@ -36,8 +33,6 @@ export COMPLETION_WAITING_DOTS="true" export VISUAL='nvim' export EDITOR='nvim' export PATH=$HOME/bin:$PATH -export MAGIC_ENTER_OTHER_COMMAND='exa -l --git' - source <(antibody init) @@ -85,9 +80,6 @@ function nv() { nvr -s $@ } -# the following lines sourced from the fzf distribution files -export FZF_TMUX=1 - export PATH="$PATH:$HOME/.anyenv/bin" eval "$(anyenv init -)" export PATH="$(yarn global bin):$PATH" @@ -103,4 +95,6 @@ else touch $HOME/.zshsrc fi -export MAGIC_ENTER_OTHER_COMMAND='exa -l --git' +for funcfile in $(ls $HOME/.zsh.d); do + source ${HOME}.zsh.d/${funcfile} +done