# TMUX - configuration ## Overview This project contains a tmux-configuration, that allows loading different plugins and layouts, that can be used to use tmux in conjunction with the helix editor as an integrated development environment. It can be used to edit source code, write texts with LaTeX and many other things. It requires the tmux plugin manager to be installed, in order to provide all neccessary or desired extensions. ## Prerequisites Several packages must be available, in order to run the IDE in different modes/layouts: - [tmux](https://github.com/tmux/tmux/wiki): The terminal multiplexer itself - [git](https://git-scm.com): The git version control system - [tpm](https://github.com/tmux-plugins/tpm?tab=readme-ov-file): The tmux plugin manager - [lazygit](https://github.com/jesseduffield/lazygit): A simple text based UI for using git - [helix](https://helix-editor.com): A postmodern text editor. Replaces vim/neovim. - [xclip](https://github.com/astrand/xclip): A command line interface for the system clipboard in X11/wayland For some plugins, extra tools are required. These are optional, and only needed, when the plugins are installed: - [yq](https://github.com/mikefarah/yq): A commandline yaml parser. Required by [tmux nerd font window name plugin](https://github.com/joshmedeski/tmux-nerd-font-window-name). ## Installation Before any plugins can be loaded, it is neccesary to install the plugin-manager itself. This has to be done manually, and can easily be done by using git: ```bash git submodule add https://github.com/tmux-plugins/tpm ~/.config/tmux/plugins/tpm ``` Then, the `tmux.conf` file can be used. Make sure, when editing the file, that the structure of the file is kept. It is mandatory, that the tpm command must remain at the end of the file at all times for TPM to work properly! After adding a plugin, press **Ctrl+\ I** to install the plugins. ## Basic usage Independent from the layout you use, the basic usage is standard tmux operation. You can use the tmux commands to split and control windows, and manage your terminal window layoout. There are, however, some extra functions. ## Manage git In order to manage your git repositories, without having to switch to a blank terminal, press `Ctrl+ g`. This will open `lazygit` in a popup, that overlays your current layoout. To close the window, all that is needed, is to quit `lazygit` by pressing `q`. ## Open an ai chat window To open a chat window to confer with your ai-bot in chatmode, you can easily open a chatwindow to the left of your main window. To do so, press `Ctrl+ a`. To close the window, press `Ctrl+d`.