{"id":20468973,"url":"https://github.com/neko-box-coder/microomni","last_synced_at":"2025-10-23T16:55:43.220Z","repository":{"id":240441355,"uuid":"802445268","full_name":"Neko-Box-Coder/MicroOmni","owner":"Neko-Box-Coder","description":"A swiss army knife plugin that super charges ⚡️ your micro text editor","archived":false,"fork":false,"pushed_at":"2025-09-19T10:16:55.000Z","size":16422,"stargazers_count":22,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-23T16:55:42.736Z","etag":null,"topics":["editor-plugin","fzf","micro","micro-editor","micro-editor-plugin","plugin","terminal-editor"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Neko-Box-Coder.png","metadata":{"files":{"readme":"README.md","changelog":"History.lua","contributing":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-05-18T10:09:26.000Z","updated_at":"2025-10-16T00:37:38.000Z","dependencies_parsed_at":"2024-05-18T22:31:26.431Z","dependency_job_id":"4178cb6c-5e85-4d14-b5cd-5daccfead90d","html_url":"https://github.com/Neko-Box-Coder/MicroOmni","commit_stats":null,"previous_names":["neko-box-coder/microomni"],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/Neko-Box-Coder/MicroOmni","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Neko-Box-Coder%2FMicroOmni","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Neko-Box-Coder%2FMicroOmni/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Neko-Box-Coder%2FMicroOmni/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Neko-Box-Coder%2FMicroOmni/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Neko-Box-Coder","download_url":"https://codeload.github.com/Neko-Box-Coder/MicroOmni/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Neko-Box-Coder%2FMicroOmni/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280657111,"owners_count":26368263,"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","status":"online","status_checked_at":"2025-10-23T02:00:06.710Z","response_time":142,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["editor-plugin","fzf","micro","micro-editor","micro-editor-plugin","plugin","terminal-editor"],"created_at":"2024-11-15T14:07:30.691Z","updated_at":"2025-10-23T16:55:43.215Z","avatar_url":"https://github.com/Neko-Box-Coder.png","language":"Lua","readme":"# 🧰 Micro Omni\n\nA swiss army knife plugin that super charges ⚡️ your micro text editor\n\nList of features:\n- ⚓️ Project Navigations:\n    - [🔍️ Fuzzy Search For Text Globally](#%EF%B8%8F-fuzzy-search-for-text-globally)\n    - [🧭 Fuzzy Search For Text Locally](#-fuzzy-search-for-text-locally)\n    - [📝 Fuzzy Search For Files](#-fuzzy-search-for-files)\n- 🖱️ Cursor Control:\n    - [🚀 Word Jumping (EasyMotion)](#-word-jumping-easymotion)\n    - [📔 Global Cursor History](#-global-cursor-history)\n    - [🔲 Centering Cursor To Viewport](#-centering-cursor-to-viewport)\n    - [🚩 Selection Marker](#-selection-marker)\n    - [🔀 Better Multi Cursor](#-better-multi-cursor)\n- 📑 Tab Control:\n    - [🗃️ Fuzzy Search For Opened Tabs](#%EF%B8%8F-fuzzy-search-for-opened-tabs)\n    - [➕ Newtab Next To Current Tab](#-newtab-next-to-current-tab)\n    - [↔️ Tab Bar Scrolling](#%EF%B8%8F-tab-bar-scrolling)\n    - [💾 Session Management](#-session-management)\n- 📜 Buffers Actions:\n    - [🧦 Diff View](#-diff-view)\n    - [🔦 Highlight Only (Before finding next)](#-highlight-only-before-finding-next)\n    - [↗️ Resize Split With Keyboard](#%EF%B8%8F-resize-split-with-keyboard)\n    - [📁 Copy Current File Path](#-copy-current-file-path)\n    - [🗺️ Minimap](#%EF%B8%8F-minimap)\n- (WIP) Bracket jumping without on top of it\n- (WIP) Content selection within brackets\n\n---\n\n## 📦️ Installation\nYou can install MicroOmni using `micro -plugin install OmniMicro` by either\n- Add it to `\"pluginrepos\"` in `settings.json`, like\n``` json\n\"pluginrepos\": [\n    \"https://raw.githubusercontent.com/Neko-Box-Coder/MicroOmni/master/repo.json\"\n]\n```\n- Or using the [unofficial-plugin-channel](https://github.com/Neko-Box-Coder/unofficial-plugin-channel), like\n```json\n\"pluginchannels\": [\n    \"https://raw.githubusercontent.com/Neko-Box-Coder/unofficial-plugin-channel/main/channel.json\"\n]\n```\n\n- Alternatively, you can `git clone https://github.com/Neko-Box-Coder/MicroOmni` to your micro `plug` directory\n\n---\n\n## 📐 Requirements\n- micro\n    - micro [v2.0.14](https://github.com/zyedidia/micro/releases/tag/v2.0.14)\n    - [Or my custom build of micro (dev)](https://github.com/Neko-Box-Coder/micro-dev/releases/tag/nightly)\n- fzf\n- ripgrep\n- bat\n- diff (Windows)\n\nAll of these are available for Unix and Windows\n\u003e Windows link to requirements\n\u003e\n\u003e [https://github.com/junegunn/fzf/releases](https://github.com/junegunn/fzf/releases)\n\u003e\n\u003e [https://github.com/BurntSushi/ripgrep/releases](https://github.com/BurntSushi/ripgrep/releases)\n\u003e\n\u003e [https://github.com/sharkdp/bat/releases](https://github.com/sharkdp/bat/releases)\n\u003e\n\u003e [https://gnuwin32.sourceforge.net/packages/diffutils.htm](https://gnuwin32.sourceforge.net/packages/diffutils.htm)\n\nAlternatively, you can get all the required executables you need for Windows in [Release](https://github.com/Neko-Box-Coder/MicroOmni/releases/tag/v0.0.1)\n\u003e [!NOTE]\n\u003e On Windows, the directory that has the required executables must be added to the PATH environment variable\n\n---\n\n## 🔍️ Fuzzy Search For Text Globally\n\n![Search Gif](./Resources/GlobalSearch.gif)\n\n\u003e [!NOTE]\n\u003e The above gif is from older version.\n\u003e The latest version will show the default keybindings in fzf\n\u003e ![Search Header](./Resources/SearchHeader.png)\n\nRecommended binding:\n```json\n    \"Alt-F\": \"command:OmniGlobalSearch\",\n    //Windows\n    \"Alt-Shift-F\": \"command:OmniGlobalSearch\"\n```\n\nTo find a with keyword(s), launch command `OmniGlobalSearch` which is bindable to a key.\n1. Enter the search directories\n    - Empty for current root directory. \n    - `{fileDir}` can be used to substitute with current file directory\n    - Use `,` to separate directories, for example `./MyDir,./MyDir2`\n    - Prefix `!` to exclude a directory, for example `!./ExcludeThisDir`\n2. Enter keywords (separated by spaces) to be searched (This is using ripgrep and not fuzzy search)\n3. If successful, a fzf window will be launched. You can now filter with fzf fuzzy search. \n4. Here are the keybindings by default configured:\n    - **enter**: Select\n    - **alt-enter**: Output the current filtered results to a new buffer\n    - **up/down**: Navigate results\n    - **alt-up / alt-down**: Navigate half page of results\n    - **page-up / page-down**: Scroll up and down for the preview window\n    - **alt-f**: Search again with text in the input field (**Non fuzzy** but case insensitive)\n    - **alt-q**: Abort\n\n### ⚙️ Fuzzy Search Settings\n- `MicroOmni.FzfCmd`: The `fzf` location.\n    - Defaults to `\"fzf\"`\n- `MicroOmni.NewFileMethod`: How to open the new file. Available options are:\n    - `smart_newtab`: (Default) Opens the new file in newtab if not opened already\n    - `thispane`: Opens in current pane\n    - `newtab`: Opens in new tab\n    - `vsplit`: Opens in new pane as vertical split\n    - `hsplit`: Opens in new pane as horizontal split\n- `MicroOmni.GlobalSearchArgs`: Argument to be passed to fzf. It defaults to the following:\n```lua\n    config.RegisterCommonOption('MicroOmni', 'GlobalSearchArgs', \n            \"--header='enter: select | alt-enter: output filtered results | alt-q/esc: exit | \"..\n            \"page-[up/down]: preview-[up/down] | alt-[up/down]: half-page-[up/down]' \"..\n            \"--bind 'alt-f:reload:rg --glob=!.git/ -i -F -uu -n {q}' \"..\n            \"--delimiter : -i --reverse \"..\n            \"--bind page-up:preview-half-page-up,page-down:preview-half-page-down,\"..\n            \"alt-up:half-page-up,alt-down:half-page-down,alt-q:abort \"..\n            \"--bind 'alt-enter:change-multi+select-all+accept' \"..\n            \"--preview-window 'down,+{2}-/2' \"..\n            \"--preview 'bat -f -n --highlight-line {2} {1}'\")\n```\n\n---\n\n## 🧭 Fuzzy Search For Text Locally\n\n![Local Gif](./Resources/LocalSearch.gif)\n\nRecommended binding:\n```json\n    \"Alt-f\": \"command:OmniLocalSearch\"\n```\n\nSimilar to \"Fuzzy Search For Text Globally\", this do a fuzzy search for the current file.\nThis is achieved by `bat` the file on disk to `fzf`, therefore you should save before searching.\n\nThe default control is the same as \"Fuzzy Search For Text Globally\".\n\nTo search, simply launch the `OmniLocalSearch` command.\n\n### ⚙️ Fuzzy Search Settings\n- `MicroOmni.LocalSearchArgs`: Argument to be passed to fzf with `{filePath}` substitute with \nthe current file path. It defaults to the following:\n```lua\n    config.RegisterCommonOption('MicroOmni', 'LocalSearchArgs', \n            \"--header='enter: select | alt-enter: output filtered results | alt-q/esc: exit | \"..\n            \"page-[up/down]: preview-[up/down] | alt-[up/down]: half-page-[up/down]' \"..\n            \"--bind 'start:reload:bat -n --decorations always {filePath}' \"..\n            \"-i --reverse \"..\n            \"--bind page-up:preview-half-page-up,page-down:preview-half-page-down,\"..\n            \"alt-up:half-page-up,alt-down:half-page-down,alt-q:abort \"..\n            \"--bind 'alt-enter:change-multi+select-all+accept' \"..\n            \"--preview-window 'down,+{1}-/2' \"..\n            \"--preview 'bat -f -n --highlight-line {1} {filePath}'\")\n```\n\n---\n\n## 📝 Fuzzy Search For Files\n\n![Search File Gif](./Resources/FileSearch.gif)\n\nRecommended binding:\n```json\n    \"Alt-G\": \"command:OmniGotoFile\",\n    //Windows\n    \"Alt-Shift-G\": \"command:OmniGotoFile\"\n```\n\nSimilar to \"Fuzzy Search For Text Globally\", this do a fuzzy search for all the files\nThe default control is the same as \"Fuzzy Search For Text Globally\".\n\nTo search, simply launch the `OmniGotoFile` command.\n\n### ⚙️ Fuzzy Search Settings\n- `MicroOmni.NewFileMethod`: Same as previous\n- `MicroOmni.GotoFileArgs`: Argument to be passed to fzf. It defaults to the following:\n```lua\n    config.RegisterCommonOption('MicroOmni', 'GotoFileArgs', \n            \"--header='enter: select | alt-enter: output filtered results | alt-q/esc: exit | \"..\n            \"page-[up/down]: preview-[up/down] | alt-[up/down]: half-page-[up/down]' \"..\n            \"-i --reverse \"..\n            \"--bind page-up:preview-half-page-up,page-down:preview-half-page-down,\"..\n            \"alt-up:half-page-up,alt-down:half-page-down,alt-q:abort \"..\n            \"--bind 'alt-enter:change-multi+select-all+accept' \"..\n            \"--preview-window 'down' \"..\n            \"--preview 'bat -f -n {}'\")\n```\n\n## 🚀 Word Jumping (EasyMotion)\nTo jump to a word anywhere on the screen, launch the `OmniJump` command **WITH** a keybinding\n\n![Word jumping gif](./Resources/WordJump.gif)\n\nRecommended binding:\n```json\n    \"Alt-j\": \"command:OmniJump\"\n```\n\n---\n\n## 📔 Global Cursor History\nWhen you are editing multiple files or jumping between different functions, \na history of the cursor location is stored. You can go to previous or next cursor position\nby launching the `OmniPreviousHistory` and `OmniNextHistory` commands.\n\nThis is similar to the navigate back and forward commands in VSCode\n![Global Cursor History Gif](./Resources/GlobalHistory.gif)\n\nRecommended binding:\n```json\n    \"Alt-{\": \"command:OmniPreviousHistory\",\n    \"Alt-}\": \"command:OmniNextHistory\",\n    //Windows\n    \"Alt-Shift-{\": \"command:OmniPreviousHistory\",\n    \"Alt-Shift-}\": \"command:OmniNextHistory\"\n```\n\n### ⚙️ Global Cursor History Settings\n- `MicroOmni.NewFileMethod`: Same as previous\n- `MicroOmni.HistoryLineDiff`: Sets how many line difference count as new cursor history. Defaults to 5\n- `MicroOmni.HistoryTimeTravelMulti`: Multiplier to `OmniHistoryLineDiff` when in cursor history\n\n---\n\n## 🔲 Centering Cursor To Viewport\nIt centers your cursor to the middle of your viewport.\n\n![Center Gif](./Resources/Center.gif)\nRecommended binding:\n```json\n    \"Alt-m\": \"command:OmniCenter\"\n```\n\n---\n\n## 🚩 Selection Marker\n\nA multi cursor selection marker which marks the beginning of a selection when called the first time.\nAnd then perform the selection to the current cursors positions when called the second time.\n\n![Selection Marker Gif](./Resources/SelectionMarker.gif)\n\n\nRecommended binding:\n```json\n    \"Alt-S\": \"command-edit:OmniSelectMark\",\n    //Windows\n    \"Alt-Shift-S\": \"command-edit:OmniSelectMark\"\n```\n\n---\n\n## 🦘 Jump Selection\n\n\u003e [!IMPORTANT]\n\u003e This is deprecated, and will be removed in a few feature releases. Use the more flexible\n\u003e [🚩 Selection Marker](#-selection-marker) instead\n\n![Jump Select Gif](./Resources/JumpSelect.gif)\n\nRecommended binding:\n```json\n    \"Alt-J\": \"command-edit:OmniJumpSelect \",\n    //Windows\n    \"Alt-Shift-J\": \"command-edit:OmniJumpSelect \"\n```\n\nTo select a section based on line number, launch the `OmniJumpSelect` command with \nthe line number specified. \n\nBy default it uses relative line numbers, so 5 is 5 lines down and -5 is 5 lines up.\nThis can be configured to use absolute line number. See settings.\n\n### ⚙️ Jump Selection Type Settings\n- `MicroOmni.SelectType`: Sets the jump selection type. Can either be `relative` (default) or `absolute`\n\n---\n\n## 🔀 Better Multi Cursor\n\nIt spawns/moves your cursor to the next [highlight](#-highlight-only-before-finding-next) match, \nor act the same as `SpawnMultiCursor` if there's no [highlight](#-highlight-only-before-finding-next)\n\nMeaning you can use regex expression to spawn multi-cursors.\n\nRecommended binding:\n```json\n    \"Alt-d\": \"command:OmniSpawnCursorNextHighlight\"\n    //OmniMoveLastCursorNextHighlight\n```\n\n### ⚙️ Better Multi Cursor Settings\nDue to how the lua interface works, `AddCursor()` (from micro) was not added until recently. \nTherefore, a workaround was created to add multi cursor but this doesn't behave exactly like \n`SpawnMultiCursor`.\n\nThe differences are that `AddCursor()` will **select** the highlight text but the workaround will \nsimply just add the cursor to the end of the highlight.\n\nThis can be set with `OmniCanUseAddCursor`.\n\nIf you are on latest master or using [my fork](https://github.com/Neko-Box-Coder/micro-dev/actions)\nyou can safely turn `OmniCanUseAddCursor` on, otherwise just leave it because it can crash micro.\n\n- `MicroOmni.CanUseAddCursor`: Sets if MicroOmni can use the `AddCursor()` interface or not.\n    - Defaults to `false`\n\n---\n\n## 🗃️ Fuzzy Search For Opened Tabs\n\n![Search Tab Gif](./Resources/TabSearch.gif)\n\nRecommended binding:\n```json\n    \"Alt-T\": \"command:OmniTabSearch\",\n    //Windows\n    \"Alt-Shift-T\": \"command:OmniTabSearch\"\n```\n\nSimilar to \"Fuzzy Search For Text Globally\", this do a fuzzy search for all the files\nThe default control is the same as \"Fuzzy Search For Text Globally\".\n\nTo search, simply launch the `OmniTabSearch` command.\n\n### ⚙️ Fuzzy Search Settings\n- `MicroOmni.NewFileMethod`: Same as previous\n- `MicroOmni.TabSearchArgs`: Argument to be passed to fzf. It defaults to the following:\n```lua\n    config.RegisterCommonOption('MicroOmni', 'TabSearchArgs', \n            \"--header='enter: select | alt-enter: output filtered results | alt-q/esc: exit | \"..\n            \"page-[up/down]: preview-[up/down] | alt-[up/down]: half-page-[up/down]' \"..\n            \"--bind 'start:reload:bat {filePath}' \"..\n            \"--delimiter : -i --reverse \"..\n            \"--bind page-up:preview-half-page-up,page-down:preview-half-page-down,\"..\n            \"alt-up:half-page-up,alt-down:half-page-down,alt-q:abort \"..\n            \"--bind 'alt-enter:change-multi+select-all+accept' \"..\n            \"--preview-window 'down,+{2}-/2' \"..\n            \"--preview 'bat -f -n --highlight-line {2} {1}'\")\n```\n\n---\n\n## ➕ Newtab Next To Current Tab\nYou can create a newtab either on the right or left of the current tab by launching \n`OmniNewTabRight` or `OmniNewTabLeft` command\n\n![New Tab Gif](./Resources/NewTab.gif)\n\nRecommended binding:\n```json\n    \"Alt-t\": \"command:OmniNewTabRight\"\n```\n\n---\n\n## ↔️ Tab Bar Scrolling\nWhen you have too many tabs, you can scroll via them without switching by launching\n`OmniTabScrollLeft` or `OmniTabScrollLeft` command\n\n![Tab Scrolling Gif](./Resources/TabScroll.gif)\n\nRecommended binding:\n```json\n    \"Alt-PageUp\": \"command:OmniTabScrollLeft\",\n    \"Alt-PageDown\": \"command:OmniTabScrollRight\"\n```\n\n---\n\n## 💾 Session Management\n\nYou can save your current tabs and splits with session management as *.omnisession file\nAuto saving is also enabled as well.\n\n![Session Management Gif](./Resources/Session.gif)\n\nThe following commands are available:\n\n- `OmniSaveSession \u003cname\u003e`: Saves the current session with the given name\n- `OmniLoadSession \u003cname\u003e`: Loads a previously saved session\n- `OmniListSessions`: Lists all available sessions\n- `OmniDeleteSession \u003cname\u003e`: Deletes a saved session\n\nBelow works the same but on current working directory:\n\n- `OmniSaveSessionLocal \u003cname\u003e`\n- `OmniLoadSessionLocal \u003cname\u003e`\n- `OmniListSessionsLocal`\n- `OmniDeleteSessionLocal \u003cname\u003e`\n\nRecommended binding:\n\nNone (Invoke it in command pane)\n\n### ⚙️ Session Settings\n\n- `MicroOmni.AutoSaveEnabled`: Enable session auto save or not. Defaults to true\n- `MicroOmni.AutoSaveToLocal`: Auto save to current working directory instead of plugin temporary \ndirectory. Defaults to false\n- `MicroOmni.AutoSaveName`: Name of the auto save, defaults to `autosave`\n- `MicroOmni.AutoSaveInterval`: Auto save interval in seconds, defaults to 60\n\n---\n\n## 🧦 Diff View\nTo compare the current buffer with another buffer of file, launch the `OmniDiff` command.\nBuffers are not required to be saved in order to perform the diff.\n\n![Diff View Gif](./Resources/FileDiff.gif)\n\nWhen being asked on what to diff, you can either specify a **filename** or a **tab**\nThe syntax for diffing a tab is as follow\n`tab:[+/-]\u003ctab index\u003e[:\u003csplit index\u003e]`\n\nWith `+` or `-` means it will be relative tab index, or absolute otherwise, similar to `tabmove`.\nThe split index can be used to specify which split to be diff against\n\nRecommended binding:\n\nNone (Invoke it in command pane)\n\n---\n\n## 🔦 Highlight Only (Before finding next)\nTo highlight anything without going to it, launch the `OmniHighlightOnly` command.\n\nThis shows the number of matches which you can go to with the `FindNext` and `FindPrevious` keybinds.\n\n![Highlight Gif](./Resources/Highlight.gif)\n\nRecommended binding:\n```json\n    \"Alt-h\": \"command:OmniHighlightOnly\"\n```\n\n---\n\n## ↗️ Resize Split With Keyboard\n\nTo resize split, launch the `OmniResizeIncrease` or `OmniResizeDecrease` command.\n\n![Resize Gif](./Resources/SplitResize.gif)\n\nRecommended binding:\n```json\n    \"Alt-=\": \"command:OmniResizeIncrease\",\n    \"Alt--\": \"command:OmniResizeDecrease\"\n```\n\n### ⚙️ Resize Settings\n- `MicroOmni.ResizeAmount`: How much to resize. Defaults to 5\n\n---\n\n## 📁 Copy Current File Path\nYou can copy the current file absolute or relative path with `OmniCopyRelativePath` and \n`OmniCopyAbsolutePath` command.\n\nRecommended binding:\n\nNone (Invoke it in command pane)\n\n---\n\n## 🗺️ Minimap\n![Minimap Gif](./Resources/Minimap.gif)\nRecommended binding:\n```json\n    \"Alt-M\": \"command:OmniMinimap\",\n    //Windows\n    \"Alt-Shift-M\": \"command:OmniMinimap\"\n```\n\nTo see an overview of the current file based on indentation, launch the `OmniMinimap` command.\nBy default it will show neighboring lines as \"context\" if they have the same indentations\n\n### ⚙️ Minimap Settings\n- `MicroOmni.MinimapMaxIndent`: Max indent limit to be shown in the minimap\n    - Defaults to 5\n- `MicroOmni.MinimapContextNumLines`: Max number of context lines\n    - Defaults to 20\n- `MicroOmni.MinimapMinDistance`: Min skipping distance for the minimap\n    - Defaults to 20\n- `MicroOmni.MinimapMaxColumns`: Max number of columns in minimap, and use \"...\" if doesn't fit\n    - Defaults to 75\n- `MicroOmni.MinimapTargetNumLines`: Number of lines aiming to have for the minimap\n    - Defaults to 100\n- `MicroOmni.MinimapScrollContent`: Automatically scroll the content buffer when navigating in the minimap\n    - Defaults to true\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneko-box-coder%2Fmicroomni","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fneko-box-coder%2Fmicroomni","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneko-box-coder%2Fmicroomni/lists"}