{"id":20047020,"url":"https://github.com/bartste/tmux-fzf-open","last_synced_at":"2026-05-09T09:12:03.896Z","repository":{"id":229488759,"uuid":"776852936","full_name":"BartSte/tmux-fzf-open","owner":"BartSte","description":"Open content on your tmux pane using fzf. ","archived":false,"fork":false,"pushed_at":"2024-12-10T21:13:06.000Z","size":26,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-27T07:12:53.230Z","etag":null,"topics":["bash","command-line","fish","tmux","zsh"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BartSte.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-24T16:19:34.000Z","updated_at":"2024-12-10T21:13:10.000Z","dependencies_parsed_at":"2024-11-13T11:44:21.969Z","dependency_job_id":null,"html_url":"https://github.com/BartSte/tmux-fzf-open","commit_stats":null,"previous_names":["bartste/tmux-fzf-open"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/BartSte/tmux-fzf-open","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BartSte%2Ftmux-fzf-open","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BartSte%2Ftmux-fzf-open/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BartSte%2Ftmux-fzf-open/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BartSte%2Ftmux-fzf-open/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BartSte","download_url":"https://codeload.github.com/BartSte/tmux-fzf-open/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BartSte%2Ftmux-fzf-open/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263339935,"owners_count":23451517,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","command-line","fish","tmux","zsh"],"created_at":"2024-11-13T11:33:01.295Z","updated_at":"2026-05-09T09:11:58.860Z","avatar_url":"https://github.com/BartSte.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# tmux-fzf-open\n\n## Contents\n\n\u003c!--toc:start--\u003e\n\n- [Introduction](#introduction)\n- [Installation](#installation)\n  - [Install using TPM](#install-using-tpm)\n  - [Install manually](#install-manually)\n- [Usage](#usage)\n- [Configuration](#configuration)\n- [Troubleshooting](#troubleshooting)\n- [Contributing](#contributing)\n- [License](#license)\n\n\u003c!--toc:end--\u003e\n\n## Introduction\n\n`tmux-fzf-open` is a tmux plugin for opening files/links from a tmux pane. It\nstarted as a fork of [wfxr/tmux-fzf-url](https://github.com/wfxr/tmux-fzf-url)\nwith a preview window added to it. Later, breaking changes were made to make it\nmake configuration more flexible.\n\n`tmux-fzf-open` has the following features:\n\n- [x] open files/links in a tmux pane with fzf.\n- [x] choose any program to open the item.\n- [x] add your own regexes to capture more items.\n- [x] set a custom sort command.\n- [x] enable a preview window that shows the content of the tmux buffer.\n\n![demo](https://github.com/BartSte/tmux-fzf-url/raw/master/demo.gif)\n\n## Installation\n\nDependencies:\n\n- [`fzf`](https://github.com/junegunn/fzf)\n\n### Install using TPM\n\nAdd this line to your tmux config file:\n\n```tmux\nset -g @plugin 'BartSte/tmux-fzf-open'\n```\n\n### Install manually\n\nClone this repo and source the `setup.tmux` script in your tmux config file:\n\n```tmux\nrun \"source /path/to/tmux-fzf-open/setup.tmux\"\n```\n\n## Usage\n\nAs can be seen in the [demo](#introduction), `tmux-fzf-open` is activated by\npressing the prefix key (usually `Ctrl+b`), followed by `u`. This will open a\nfzf window with the items that are found in the tmux pane. The items are found\nby using a regex that is defined in the `@fzf-url-regex` option. By default,\nthis regex is set to only match URLs and IP addresses. After you selected one or\nmore items, they will be opened in the program that is defined in the\n`@fzf-url-open-cmd` option. By default, this is set to `$BROWSER`, but you\nshould set it to another program if you also want to items that are not URLs or\nIP addresses.\n\n## Configuration\n\nThe following configuration is the default configuration:\n\n```tmux\n# set -g @fzf-open-regex \"\u003csome long regex that matches URLs and IP addresses\u003e\"\nset -g @fzf-open-extra-regexes \"\" # empty by default\nset -g @fzf-open-open-limit \"screen\" # only the visible part of the screen is searched\nset -g @fzf-open-open-cmd \"$BROWSER\" # the program that is used to open the items\nset -g @fzf-open-sort-cmd \"sort -u -t: -k2\" # sort the items before passing them to fzf\nset -g @fzf-open-fzf-opts \"-w 100% -h 50% --multi -0\" # fzf options\nset -g @fzf-open-fzf-preview true # enable the preview window\n```\n\nBelow, the options are explained in more detail:\n\n- **regex**: the regex that is used to find items in the tmux pane. By default,\n  it is set to only match URLs and IP addresses. The default regex can be found\n  in the `fzf-open` script.\n\n- **extra regexes**: if you want to extend the default regex, you can add your\n  own regexes to the `@fzf-open-extra-regexes` option.\n\n- **open limit**: by default, only the visible part of the screen is searched\n  for items. This can be changed by setting the `@fzf-open-open-limit` option to\n  a number. This number is the number of lines that are searched. For example,\n  if you set it to `5000`, the first 5000 lines of the tmux buffer are searched\n  for items.\n\n- **open cmd**: the program that is used to open the items. By default, it\n  is set to `$BROWSER`, but you should set it to another program if you also\n  want to items that are not URLs or IP addresses. For example, you can set it\n  to `xdg-open` or `open` (if they are available on your system), which will\n  open the items in the default program that is associated with the item.\n\n- **sort command**: after searching the tmux buffer, the results are presented\n  in the following format: `line_number:match`. Here `line_number` is the line\n  number in the tmux buffer, and `match` is the match. Before passing them to\n  fzf, any duplicates are removed by using the `sort -u` command. Next, they are\n  fed to a command that can be specified by the user.\n\n  When the default command is used, only the `match` part is used for sorting.\n  This will remove any duplicates, even if the `line_number` part is different.\n  This will limit the number of lines that are shown in the fzf window, and will\n  make it easier to find the desired line. However, when using the preview\n  window, it may be desirable to display all the lines, such that you can scroll\n  through them. In this case, the following may be more suitable:\n\n  ```tmux\n  set -g @fzf-url-sort-cmd \"sort -n\"\n  ```\n\n  This will only sort the `line_number` part, and will not remove any\n  duplicated matches on different lines.\n\n- **fzf options**: the options that are passed to fzf. It is also possible to\n  set the `$FZF_OPEN_OPTS` environment variable instead, as this conforms to the\n  fzf way of configuring options. The tmux settings will take precedence over\n  the environment variable.\n\n- **preview window**: a preview window can be enabled that shows the content of\n  the tmux buffer. The selected fzf line will be highlighted in the preview\n  window.\n\n## Troubleshooting\n\nIf you encounter any issues, please report them on the issue tracker at:\n[tmux-fzf-open issues](https://github.com/BartSte/tmux-fzf-open/issues)\n\n## Contributing\n\nContributions are welcome! Please see [CONTRIBUTING](./CONTRIBUTING.md) for\nmore information.\n\n## License\n\nDistributed under the [MIT License](./LICENCE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbartste%2Ftmux-fzf-open","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbartste%2Ftmux-fzf-open","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbartste%2Ftmux-fzf-open/lists"}