Как сделать автодополнение на основе содержимого буфера в tmux?

Учебник поможет вам создать Создание самоподписанного -сертификата .

Firefox требовал, чтобы сертификат был подписан уполномоченным органом.

Чтобы избежать полученной вами ошибки, вы можете добавить сертификат в качестве авторизованного центра.

Здесь вы можете найти, как это сделать (с обновлениями до -до -версии Firefox):

  • Откройте Firefox
  • Параметры
  • Дополнительно
  • Сертификаты
  • Просмотр сертификата
  • Власти
  • Импорт
  • Предоставить сертификат

0
03.08.2019, 08:36
1 ответ

Рыбная скорлупа

fzf-complete-from-tmux.sh

#!/bin/bash
tmux capture-pane -pS -100000 |      # Dump the tmux buffer.
  tac |                              # Reverse so duplicates use the first match.
  pcregrep -o "[\w\d_\-\.\/]+" |     # Extract the words.
  awk '{ if (!seen[$0]++) print }' | # De-duplicate them with awk, then pass to fzf.
  fzf --no-sort --exact +i           # Pass to fzf for completion.

Пример связывания с рыбьей оболочкой.

# Ctrl-N: Complete based on the tmux buffer content.
bind \cn "commandline -i (fzf-complete-from-tmux.sh) 2>/dev/null"

Баш-оболочка

Добавлена ​​версия bash благодаря @juanitocalero.

#!/bin/bash

__screen-autocomplete__() {
    tmux capture-pane -pS -100000 |      # Dump the tmux buffer.
      tac |                              # Reverse so duplicates use the first match.
      grep -P -o "[\w\d_\-\.\/]+" |      # Extract the words.
      awk '{ if (!seen[$0]++) print }' | # De-duplicate them with awk, then pass to fzf.
      fzf --no-sort --exact +i           # Pass to fzf for completion.
}

__screen_autocomplete-inline__() {
    local selected="$(__screen-autocomplete__)"
    READLINE_LINE="${READLINE_LINE:0:$READLINE_POINT}$selected${READLINE_LINE:$READLINE_POINT}"
    READLINE_POINT=$(( READLINE_POINT + ${#selected} ))
}

# Example binding with bash shell.
bind -x '"\C-n": "__screen_autocomplete-inline__"'
3
28.01.2020, 02:39

Теги

Похожие вопросы