Копирование и вставка из tmux включает предыдущие копии

Вы можете использовать awkдля этого:

file=$(declare -F my_bash_func | awk '{print $3}')

Или используйте встроенные в bash -ins, прочитайте их в массив:

func_info=( $(declare -F my_bash_func) )
file=${func_info[2]}
line_number=${func_info[1]}

Но имейте в виду, что вывод declare -F my_bash_funcне очень удобен для синтаксических анализаторов... Если файл, содержащий функцию, получен по относительному пути, вывод extdebugпросто напечатает относительный путь (, даже если вы re больше не в этом каталоге. )Кроме того, если в пути есть пробелы или непечатаемые символы, они будут сохранены в выводе (, так что "3-е поле" может быть неверным...)

1
17.04.2020, 22:22
2 ответа

1 )Вы используете терминал Kitty? У него есть проблема, когда он добавляется к выбору, а не заменяет его. Это все еще происходит в Terminal.app или iTerm2?

2 )Или вы используете как pbcopy, так и set-clipboard, чтобы tmux установил системный буфер обмена? Попробуйте set -s set-clipboard offв .tmux.confи перезапустите tmux(tmux kill-server).

3
19.03.2021, 02:28

@Nicholas Marriot предоставил информацию, которая привела меня к этому решению:

https://unix.stackexchange.com/a/564333/406997

В моем случае я использовал pbcopy, а не xsel:

.
set -s set-clipboard off

bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi MouseDragEnd1Pane send -X copy-pipe-and-cancel "pbcopy"
bind-key -T copy-mode-vi y send -X copy-pipe-and-cancel "pbcopy"
3
19.03.2021, 02:28

Теги

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