# BindThem A comprehensive Obsidian plugin that merges the best features from obsidian-tweaks, obsidian-editor-shortcuts, and heading-toggler into a single, unified solution. Enhanced editor shortcuts and formatting tools for power users. ## Features ### Better Formatting Smart text wrapping that intelligently detects word boundaries and existing formatting. Toggle formatting on and off with a single command. | Command | Description | |---------|-------------| | Toggle Bold (underscores) | Wrap or unwrap selection with `__` | | Toggle Bold (asterisks) | Wrap or unwrap selection with `**` | | Toggle Italics (underscore) | Wrap or unwrap selection with `_` | | Toggle Italics (asterisk) | Wrap or unwrap selection with `*` | | Toggle Code | Wrap or unwrap selection with backticks | | Toggle Comment | Wrap or unwrap selection with `%%` | | Toggle Highlight | Wrap or unwrap selection with `==` | | Toggle Strikethrough | Wrap or unwrap selection with `~~` | | Toggle Math (Inline) | Wrap or unwrap selection with `$` | | Toggle Math (Block) | Wrap or unwrap selection with `$$` | ### Directional Copy & Move Copy or move text in any direction without using the clipboard. | Command | Description | |---------|-------------| | Copy Up | Duplicate the current line(s) above | | Copy Down | Duplicate the current line(s) below | | Copy Left | Duplicate the current selection(s) to the left | | Copy Right | Duplicate the current selection(s) to the right | | Move Left | Shift the current selection one character left | | Move Right | Shift the current selection one character right | ### Heading Management Toggle heading levels H1 through H6 with intelligent detection. If the line already has the target heading level, the heading is removed. | Command | Description | |---------|-------------| | Toggle Heading 1-6 | Apply or remove heading level | | Toggle Heading 1-6 (Strip Formatting) | Apply heading and remove bold/italic formatting from content | ### Line Operations Essential line manipulation commands for efficient editing. | Command | Description | |---------|-------------| | Insert Line Above | Create a new line above the current line, preserving indentation | | Insert Line Below | Create a new line below the current line, preserving indentation | | Delete Line | Remove the current line entirely | | Delete to Start of Line | Remove all text from cursor to the beginning of the line | | Delete to End of Line | Remove all text from cursor to the end of the line | | Join Lines | Merge the current line with the next line | | Duplicate Line | Copy the current line and insert it below | | Copy Line Up | Duplicate the current line above (VSCode style) | | Copy Line Down | Duplicate the current line below (VSCode style) | ### Selection Commands Quick selection tools for text manipulation. | Command | Description | |---------|-------------| | Select Word | Select the word under the cursor | | Select Line | Select the entire current line | ### Case Transformation Transform text case with various options. | Command | Description | |---------|-------------| | Transform to Uppercase | Convert selection to UPPERCASE | | Transform to Lowercase | Convert selection to lowercase | | Transform to Title Case | Convert selection to Title Case | | Toggle Case | Cycle through: UPPERCASE -> lowercase -> Title Case | ### Navigation Jump around your document quickly. | Command | Description | |---------|-------------| | Go to Line Start | Move cursor to the beginning of the current line | | Go to Line End | Move cursor to the end of the current line | | Go to First Line | Jump to the first line of the document | | Go to Last Line | Jump to the last line of the document | | Go to Line Number | Open a modal to enter a specific line number | | Go to Next Heading | Jump to the next heading in the document | | Go to Previous Heading | Jump to the previous heading in the document | ### Cursor Movement Basic cursor movement commands. | Command | Description | |---------|-------------| | Move Cursor Up | Move cursor up one line | | Move Cursor Down | Move cursor down one line | | Move Cursor Left | Move cursor left one character | | Move Cursor Right | Move cursor right one character | | Go to Previous Word | Move cursor to the start of the previous word | | Go to Next Word | Move cursor to the start of the next word | ### Multi-Cursor Support Work with multiple cursors simultaneously. | Command | Description | |---------|-------------| | Insert Cursor Above | Add a cursor on the line above | | Insert Cursor Below | Add a cursor on the line below | ### File Operations Quick file management commands. | Command | Description | |---------|-------------| | Duplicate File | Create a copy of the current file in the same folder | | New Adjacent File | Create a new file in the same folder as the current file | ### Utility Commands | Command | Description | |---------|-------------| | Toggle Line Numbers | Show or hide line numbers in the editor | | Undo | Undo the last action | | Redo | Redo the last undone action | ## Installation ### From Obsidian 1. Open Settings > Community plugins 2. Disable Safe mode if enabled 3. Click on "Browse" community plugins 4. Search for "BindThem" 5. Click Install, then Enable ### Manual Installation 1. Download the latest release from the releases page 2. Extract the files to your vault's `.obsidian/plugins/bindThem/` folder 3. Reload Obsidian 4. Enable the plugin in Settings > Community plugins ## Configuration After enabling the plugin, go to Settings > BindThem to access: - **Debug mode**: Enable detailed logging for troubleshooting ## Customizing Keyboard Shortcuts All commands can be assigned custom keyboard shortcuts: 1. Go to Settings > Hotkeys 2. Search for "BindThem" 3. Click the `+` icon next to any command 4. Press your desired key combination ## Credits This plugin merges and refactors functionality from: - **obsidian-tweaks** - Better formatting, directional copy/move, file operations - **obsidian-editor-shortcuts** - Line operations, case transformation, navigation, multi-cursor support - **heading-toggler** - Heading toggle with formatting strip ## License MIT License - See LICENSE file for details. ## Support If you encounter any issues or have feature requests, please open an issue on the GitHub repository.