### Install Vimini with Packer.nvim Source: https://github.com/simo5/vimini/blob/main/README.md Add Vimini to your init.lua or plugins.lua using Packer.nvim and then run :PackerSync or :PackerInstall to install the plugin. ```lua use 'your-github-username/vimini.vim' " Replace with the actual repo path ``` -------------------------------- ### Install Vimini with Vim-Plug Source: https://github.com/simo5/vimini/blob/main/README.md Add Vimini to your .vimrc or init.vim using Vim-Plug and then run :PlugInstall to install the plugin. ```vim call plug#begin() Plug 'your-github-username/vimini.vim' " Replace with the actual repo path call plug#end() ``` -------------------------------- ### Install google-genai Python Library Source: https://github.com/simo5/vimini/blob/main/README.md Install the required google-genai Python library using pip. This is a prerequisite for using Vimini. ```bash pip install google-genai ``` -------------------------------- ### Initiate AI Chat Session Source: https://context7.com/simo5/vimini/llms.txt Start a stateful chat session with a Gemini model using :ViminiChat. Follow-up prompts retain context. The agent can use tools like read_file, list_directory, and apply_patch. ```vim " First interaction :ViminiChat Explain what this plugin does in one sentence. " Follow-up in the same session (context preserved) :ViminiChat Now show me an example of using the ViminiCode command. " Agentic usage: ask the agent to read and modify files :ViminiChat Read src/main.py and add type hints to the process_data function. " Agent output: " Q: Read src/main.py and add type hints... " --- " A: [Agent requested tool execution: read_file({"filepath": "src/main.py"})] " I'll now apply the changes... " [Agent requested tool execution: apply_patch({"diff_content": "---\n+++ ..."})] " ---- " Open chat window without a prompt (just focuses/creates the buffer) :ViminiChat ``` -------------------------------- ### Automate Git Commits with Vimini Source: https://github.com/simo5/vimini/blob/main/README.md Automates the Git commit process. It can create new commits by staging changes, generating a message, and confirming, or regenerate/amend the last commit using the `-r` flag. Optional instructions can guide AI message generation. ```vim " Stage changes and generate a commit message for a new commit :ViminiCommit " Provide instructions for the commit message :ViminiCommit Include details about the bug fix " Do the same, but without the co-author trailer :ViminiCommit -n " Regenerate the message for the HEAD commit and amend it :ViminiCommit -r " Regenerate with instructions :ViminiCommit -r Make it shorter ``` -------------------------------- ### Access Vimini Help Documentation Source: https://context7.com/simo5/vimini/llms.txt Opens a read-only help buffer listing all available Vimini commands. Optionally jumps to and highlights a specific command entry. ```vim :ViminiHelp " Open the full help buffer ``` ```vim :ViminiHelp ViminiCode " Jump directly to the :ViminiCode entry (highlighted) ``` ```vim :ViminiHelp ViminiReview " Jump directly to the :ViminiReview entry ``` -------------------------------- ### Open Vimini Help Source: https://github.com/simo5/vimini/blob/main/README.md Opens a help buffer listing all Vimini commands. Provide a command name to jump directly to its help entry. ```vim :ViminiHelp ``` ```vim :ViminiHelp ViminiCode ``` -------------------------------- ### Specify Vimini Context Files Source: https://github.com/simo5/vimini/blob/main/README.md Define a list of files to always include as context for AI commands like :ViminiCode, in addition to open buffers. Be mindful of the 1MB total context file size limit. ```vim " Always include these files as context for code generation tasks let g:context_files = ['package.json', 'src/main.js', 'src/utils/api.js'] ``` -------------------------------- ### Manage Context Files with ViminiContextFiles Source: https://github.com/simo5/vimini/blob/main/README.md Opens an interactive file manager to manage files included as context for AI commands. Files marked with 'C' are in the context list. Press Enter to toggle inclusion or navigate directories. Close the window to save changes. ```vim :ViminiContextFiles ``` -------------------------------- ### Manage Context Files with ViminiContextFiles Source: https://context7.com/simo5/vimini/llms.txt Opens an interactive file manager to manage the g:context_files list, which are always included as context for :ViminiCode. Use Enter to toggle files and 'l' for a summary. ```vim :ViminiContextFiles " File manager buffer shows: " C package.json ← 'C' prefix = currently in context " src/utils/api.js " src/models/ " ... " " on a file: toggles C prefix (add/remove from context) " on a dir: navigates into it " l: shows popup summary of active context files " :q prompts to save changes to g:context_files ``` -------------------------------- ### Vimini Configuration Options Source: https://context7.com/simo5/vimini/llms.txt Configure Vimini's behavior, model, UI, and logging using global Vimscript variables in your .vimrc or init.vim. Ensure your API key is set or stored in ~/.config/gemini.token. ```vimscript " --- Required --- let g:vimini_api_key = 'YOUR_GEMINI_API_KEY' " Or store in ~/.config/gemini.token " --- Model & Generation --- let g:vimini_model = 'gemini-2.5-flash' " Default model let g:vimini_temperature = 0.7 " Float 0.0-2.0 (unset = model default) " --- UI --- let g:vimini_split_method = 'vertical' " 'vertical' (default) or 'horizontal' let g:vimini_thinking = 'on' " Show AI thought process: 'on' (default) or 'off' " --- Autocomplete --- let g:vimini_autocomplete = 'off' " Real-time ghost-text autocomplete (default off) " --- Logging --- let g:vimini_logging = 'off' " Enable file logging: 'on' or 'off' let g:vimini_log_file = '~/.var/vimini/vimini.log' " --- Git / Review --- let g:vimini_commit_author = 'Assisted-by: Gemini ' let g:vimini_review_path = './reviews' " Default directory for --save reviews " --- Code Context --- " Files always included as context for :ViminiCode (max 1 MB total) let g:context_files = ['package.json', 'src/utils/api.js'] ``` -------------------------------- ### Set Vimini API Key in .vimrc Source: https://github.com/simo5/vimini/blob/main/README.md Configure your Google Gemini API key directly in your Vim configuration file. Replace 'YOUR_API_KEY_HERE' with your actual key. ```vim let g:vimini_api_key = 'YOUR_API_KEY_HERE' ``` -------------------------------- ### :ViminiChat {prompt} Source: https://context7.com/simo5/vimini/llms.txt Opens a chat interface in a dedicated buffer and sends an initial prompt to the Gemini model. Subsequent interactions within this buffer maintain conversational context and can utilize agentic tools. ```APIDOC ## :ViminiChat {prompt} ### Description Opens a persistent `Vimini Chat` buffer and sends a prompt to the Gemini model. The session is stateful—follow-up questions retain context. The chat session runs as an autonomous agent with access to `read_file`, `list_directory`, and `apply_patch` tools (the agent shows its tool calls inline). ### Method Ex command ### Endpoint N/A ### Parameters - **prompt** (string) - Optional - The initial prompt to send to the Gemini model. ### Request Example ```vim " First interaction :ViminiChat Explain what this plugin does in one sentence. " Follow-up in the same session (context preserved) :ViminiChat Now show me an example of using the ViminiCode command. " Agentic usage: ask the agent to read and modify files :ViminiChat Read src/main.py and add type hints to the process_data function. " Open chat window without a prompt (just focuses/creates the buffer) :ViminiChat ``` ### Response #### Success Response A `Vimini Chat` buffer is opened or focused, displaying the conversation history and AI responses. Agent tool calls are shown inline. #### Response Example ``` " Agent output: Q: Read src/main.py and add type hints... --- A: [Agent requested tool execution: read_file({"filepath": "src/main.py"})] I'll now apply the changes... [Agent requested tool execution: apply_patch({"diff_content": "--- a/src/main.py\n+++ ..."})] ----- ``` ``` -------------------------------- ### Vimini API Key File Configuration Source: https://github.com/simo5/vimini/blob/main/README.md Store your Google Gemini API key in a dedicated file for enhanced security. Ensure the file contains only the API key. ```text # ~/.config/gemini.token YOUR_API_KEY_HERE ``` -------------------------------- ### Monitor Asynchronous Jobs with ViminiStatus Source: https://context7.com/simo5/vimini/llms.txt Opens a live buffer showing all currently running asynchronous Vimini jobs, updated every second. ```vim :ViminiStatus " Vimini Status buffer (auto-refreshes): " Vimini Status " =========================== " " Job ID: 3 " Name: Code: Refactor authenticate() " Status: Running... " -------------------- " Job ID: 4 " Name: Review: HEAD " Status: Processing... " -------------------- ``` -------------------------------- ### Manage Remotely Stored Files Source: https://github.com/simo5/vimini/blob/main/README.md Opens an interactive buffer to manage files uploaded to the server for AI context. Allows viewing file details with `i` or deleting files with `d` (single) or `D` (all). Press `q` to close. ```vim :ViminiFiles ``` -------------------------------- ### Send Prompt to Gemini Model Source: https://github.com/simo5/vimini/blob/main/README.md Use the :ViminiChat command followed by your prompt to send a query to the configured Gemini model. The AI's response will appear in a new vertical split buffer. ```vim :ViminiChat What is the capital of France? ``` -------------------------------- ### Review Code with ViminiReview Source: https://github.com/simo5/vimini/blob/main/README.md Sends code for review by the Gemini model. Can review the current buffer or specified git objects. Use `--security` for security-focused reviews and `--save` to save reviews to files. ```vim " Review the current buffer for performance issues :ViminiReview Check for performance issues. ``` ```vim " Perform a general review of the current buffer :ViminiReview ``` ```vim " Review the changes in the latest commit :ViminiReview -c HEAD ``` ```vim " Review changes from two commits ago, focusing only on security :ViminiReview -c HEAD~2 --security ``` ```vim " Review the last 3 commits and save each review to a file :ViminiReview -c HEAD~3..HEAD --save ``` ```vim " Review the last 3 commits and save each review to a specific directory :ViminiReview -c HEAD~3..HEAD --save=./reviews ``` -------------------------------- ### Configure Vimini Logging Source: https://github.com/simo5/vimini/blob/main/README.md Enable or disable logging of Vimini's activity to a file for debugging. Set 'g:vimini_logging' to 'on' to enable logging (default is 'off'). Optionally, set 'g:vimini_log_file' to a custom path. ```vim " Enable logging (Default is 'off') let g:vimini_logging = 'on' ``` ```vim " Set a custom path for the log file (Default is '~/.var/vimini/vimini.log') let g:vimini_log_file = '/path/to/your/vimini.log' ``` -------------------------------- ### Show Git Diff with Vimini Source: https://github.com/simo5/vimini/blob/main/README.md Displays the output of `git diff` in a new split window, allowing you to view unstaged changes without leaving Vim. ```vim :ViminiDiff ``` -------------------------------- ### Generate Code with :ViminiCode Source: https://context7.com/simo5/vimini/llms.txt Use this command to generate code based on open buffers and specified prompts. The output is streamed into a new buffer as a unified diff, which can be applied using :ViminiApply. ```vim " Generate code based on open buffers :ViminiCode Refactor the authenticate() function to use JWT instead of sessions. " Create a new file :ViminiCode Add a new utility module src/utils/date_helpers.py with ISO 8601 formatting. " The Vimini Code buffer will contain: " # Request Summary (Job 1) " ## User Prompt " Refactor the authenticate() function... " ## Context Files " - MYPROJECT:src/auth.py " - MYPROJECT:src/models/user.py " --- " ========== VIMINI DIFF START ========== " diff --git a/src/auth.py b/src/auth.py " --- a/src/auth.py " +++ b/src/auth.py " @@ -12,8 +12,14 @@ " - session['user_id'] = user.id " + token = jwt.encode({'user_id': user.id}, SECRET_KEY) " + return token ``` -------------------------------- ### Configure Vimini Thinking Display Source: https://github.com/simo5/vimini/blob/main/README.md Control whether the AI's 'thinking' process is displayed in a separate buffer. Set to 'on' to show the 'Vimini Thoughts' buffer (default), or 'off' to hide it. ```vim " Show the 'Vimini Thoughts' buffer. (Default) let g:vimini_thinking = 'on' ``` ```vim " Hide the 'Vimini Thoughts' buffer. let g:vimini_thinking = 'off' ``` -------------------------------- ### List Available Gemini Models Source: https://context7.com/simo5/vimini/llms.txt Use the :ViminiListModels command to display all Gemini models accessible with your API key in a new read-only split buffer. ```vim :ViminiListModels " Expected output in a new vertical split: " Available Models: " - models/gemini-2.5-flash " - models/gemini-2.5-pro " - models/gemini-1.5-pro " ... ``` -------------------------------- ### Generate Git Diff with :ViminiDiff Source: https://context7.com/simo5/vimini/llms.txt Generates a git diff for the current repository and displays it in a new buffer with diff syntax highlighting. This command is useful for quickly viewing changes before committing. ```vim :ViminiDiff " Opens a new split with contents like: " diff --git a/src/auth.py b/src/auth.py " index a1b2c3d..e4f5g6h 100644 " --- a/src/auth.py " +++ b/src/auth.py " @@ -10,6 +10,7 @@ ``` -------------------------------- ### :ViminiDiff Source: https://github.com/simo5/vimini/blob/main/README.md Shows the output of `git diff` for the current repository in a new split window. This allows you to see unstaged changes without leaving Vim. ```APIDOC ## :ViminiDiff ### Description Shows the output of `git diff` for the current repository in a new split window. This allows you to see unstaged changes without leaving Vim. ### Method Command ### Endpoint :ViminiDiff ### Examples ```vim :ViminiDiff ``` ``` -------------------------------- ### :ViminiRipGrepApply Source: https://github.com/simo5/vimini/blob/main/README.md Applies the AI-generated changes from the `ViminiRipGrep` buffer to the actual files on disk and closes the temporary buffer. ```APIDOC ## :ViminiRipGrepApply ### Description Once you are satisfied with the AI-generated changes in the `ViminiRipGrep` buffer, run this command. It will apply the modifications to the actual files on disk and close the temporary buffer. ### Method Command ### Endpoint :ViminiRipGrepApply ### Examples ```vim :ViminiRipGrepApply ``` ``` -------------------------------- ### :ViminiListModels Source: https://context7.com/simo5/vimini/llms.txt Lists all available Gemini models that can be used with your configured API key. The output is displayed in a new read-only split buffer. ```APIDOC ## :ViminiListModels ### Description Lists all Gemini models available to the configured API key in a new read-only split buffer. ### Method Ex command ### Endpoint N/A ### Parameters None ### Request Example ```vim :ViminiListModels ``` ### Response #### Success Response Output in a new vertical split buffer, listing available models. #### Response Example ``` Available Models: - models/gemini-2.5-flash - models/gemini-2.5-pro - models/gemini-1.5-pro ... ``` ``` -------------------------------- ### Run RipGrep with AI for Code Modification Source: https://context7.com/simo5/vimini/llms.txt Executes ripgrep with a specified regex and then uses Gemini to modify the results based on a prompt. Use :ViminiRipGrepApply to commit changes. ```vim :ViminiRipGrep 'TODO' 'Convert each TODO comment to a GitHub issue reference format: // TODO(#123): description' ``` ```vim :ViminiRipGrep 'getUserById' 'Rename this function to fetchUserById everywhere' ``` ```vim :ViminiRipGrepApply " Output: [Vimini] Changes applied. ``` -------------------------------- ### Configure Vimini Autocomplete Source: https://github.com/simo5/vimini/blob/main/README.md Enable or disable the real-time autocomplete feature. It is disabled by default. Set to 'on' to enable or 'off' to disable. ```vim " Enable autocomplete feature let g:vimini_autocomplete = 'on' ``` ```vim " Disable autocomplete feature (Default) let g:vimini_autocomplete = 'off' ``` -------------------------------- ### Set Vimini Commit Author Source: https://github.com/simo5/vimini/blob/main/README.md Customize the 'Co-authored-by' trailer used in the :ViminiCommit command. The default is 'Co-authored-by: Gemini '. ```vim " Set a custom author trailer (Default is 'Co-authored-by: Gemini ') let g:vimini_commit_author = 'Co-authored-by: My AI Assistant ' ``` -------------------------------- ### Generate Code with ViminiCode Source: https://github.com/simo5/vimini/blob/main/README.md Generates code based on open buffers and a prompt. The result is streamed into a new buffer showing AI thoughts and a diff view. Use `:ViminiApply [job_id]` to apply changes. ```vim :ViminiCode Please refactor this function to be more concise ``` -------------------------------- ### Toggle Vimini Autocomplete Source: https://github.com/simo5/vimini/blob/main/README.md Use this command to enable or disable real-time code completion. When enabled, suggestions appear as ghost text after a short typing pause in insert mode. ```vim " Toggle the current setting (on -> off, off -> on) :ViminiToggleAutocomplete " Explicitly turn autocomplete on :ViminiToggleAutocomplete on " Explicitly turn autocomplete off :ViminiToggleAutocomplete off ``` -------------------------------- ### Create AI Commit Messages with :ViminiCommit Source: https://context7.com/simo5/vimini/llms.txt Stages all changes (excluding dotfiles and swap files), generates an AI commit message, shows a confirmation, and commits. Use -r to amend the HEAD commit message. ```vim " Stage and commit with an AI-generated message :ViminiCommit " Provide guidance for message generation :ViminiCommit Focus on the security improvement and mention CVE-2024-1234 " Commit without the 'Assisted-by' trailer :ViminiCommit -n " Regenerate and amend the HEAD commit message :ViminiCommit -r " Regenerate HEAD message with instructions :ViminiCommit -r Keep the subject under 40 chars " Confirmation popup: " ╭─────────────── Commit Message ────────────────╮ " │ │ " │ Subject: Fix JWT token expiry validation │ " │ │ " │ Ensure tokens are rejected after the │ " │ configured TTL by comparing exp claim │ " │ against server time in UTC. │ " │ │ " │ --- Staged files --- │ " │ src/auth.py | 12 ++++++---- │ " │ │ " │ --- │ " │ Commit with this message? [y/n] │ " │ │ " ╰───────────────────────────────────────────────╯ ``` -------------------------------- ### View and Delete Uploaded Gemini Files Source: https://context7.com/simo5/vimini/llms.txt Opens a buffer listing files uploaded to the Gemini Files API by :ViminiCode. Allows viewing metadata and deleting remote files. ```vim :ViminiFiles " Vimini Files buffer: " files/abc123def MYPROJECT:src/auth.py ACTIVE " files/xyz789ghi MYPROJECT:src/models/user.py ACTIVE " " i → show detailed info (name, size, state, expiry) in a new window " d → delete file under cursor from Gemini server " D → delete ALL uploaded files (with confirmation prompt) " q → close the buffer ``` -------------------------------- ### Toggle Vimini Logging Source: https://github.com/simo5/vimini/blob/main/README.md Use this command to enable or disable logging for API requests and internal actions. Logging is useful for debugging and is controlled by the `g:vimini_log_file` setting. ```vim " Toggle the current setting (on -> off, off -> on) :ViminiToggleLogging ``` ```vim " Explicitly turn logging on :ViminiToggleLogging on ``` ```vim " Explicitly turn logging off :ViminiToggleLogging off ``` -------------------------------- ### Review Code with :ViminiReview Source: https://context7.com/simo5/vimini/llms.txt Reviews the current buffer or git history. Results are streamed into a '[N] Vimini Review' buffer. Supports security-focused reviews and batch saving for CI/CD pipelines. ```vim " Review the current buffer :ViminiReview " Review current buffer with a focused prompt :ViminiReview Check for performance bottlenecks and N+1 query patterns. " Review the latest commit :ViminiReview -c HEAD " Security-focused review of the last two commits :ViminiReview -c HEAD~2..HEAD --security " Batch review the last 10 commits and save each to ./reviews/ :ViminiReview -c HEAD~10..HEAD --save=./reviews " Creates files like: 0001-fix-login-bug.review.txt, 0002-add-user-model.review.txt " Use global review path (g:vimini_review_path) instead of specifying one :ViminiReview -c HEAD~5..HEAD --save ``` -------------------------------- ### Toggle Autocomplete with :ViminiToggleAutocomplete Source: https://context7.com/simo5/vimini/llms.txt Enables or disables real-time ghost-text autocomplete. When enabled, Vimini suggests code after a pause in typing, which can be accepted with Tab. ```vim :ViminiToggleAutocomplete " Toggle :ViminiToggleAutocomplete on " Enable :ViminiToggleAutocomplete off " Disable " Output: [Vimini] Autocomplete is now on " In insert mode, after 1 second pause: " A popup appears above the cursor with the suggestion. " Press to insert it, or any other key to dismiss and type normally. ``` -------------------------------- ### Toggle Vimini API Logging Source: https://context7.com/simo5/vimini/llms.txt Enables or disables file-based logging of API requests, responses, and internal actions for debugging purposes. ```vim :ViminiToggleLogging on " Enable logging to g:vimini_log_file ``` ```vim :ViminiToggleLogging off " Disable logging ``` ```vim :ViminiToggleLogging " Toggle ``` ```text " Log file format (~/.var/vimini/vimini.log): " 2024-10-27 14:32:01,123 - INFO - code(Refactor authenticate(), verbose=True, temperature=0.7) " 2024-10-27 14:32:05,456 - INFO - Commit Message accepted ``` -------------------------------- ### :ViminiRipGrep Source: https://github.com/simo5/vimini/blob/main/README.md Initiates an AI-assisted search and replace workflow using ripgrep and Gemini. ```APIDOC ## :ViminiRipGrep {regex} {prompt} ### Description This command initiates an AI-assisted search and replace workflow: It runs `ripgrep` with the given `{regex}` to find all occurrences in your project. The search results, including a few lines of context, are placed into a new temporary buffer named `ViminiRipGrep`. This buffer's content is then sent to Gemini along with your `{prompt}` for modification. Gemini applies your requested changes to the buffer content. You can then review and even manually edit the proposed changes directly in the `ViminiRipGrep` buffer before applying them. ### Method Command ### Parameters #### Path Parameters - **regex** (string) - Required - The regular expression to search for. - **prompt** (string) - Required - The prompt for AI modification. ### Example ```vim " To rename `old_function_name` to `new_function_name` across your entire project: :ViminiRipGrep 'old_function_name' 'rename this function to new_function_name' ``` ``` -------------------------------- ### :ViminiStatus Source: https://github.com/simo5/vimini/blob/main/README.md Opens a read-only buffer showing the status of currently running asynchronous jobs. ```APIDOC ## :ViminiStatus ### Description Opens a read-only buffer showing the status of currently running asynchronous jobs (e.g., code generation, chat, review). This is useful for monitoring long-running tasks. ### Method Command ### Endpoint :ViminiStatus ### Examples ```vim :ViminiStatus ``` ``` -------------------------------- ### AI-Assisted Search and Replace with Ripgrep Source: https://github.com/simo5/vimini/blob/main/README.md Initiates an AI-assisted refactoring workflow. It uses `ripgrep` to find all occurrences of a regex and then prompts Gemini to modify the results in a temporary buffer. Review and edit changes before applying. ```vim :ViminiRipGrep 'old_function_name' 'rename this function to new_function_name' ``` -------------------------------- ### Set Vimini Generation Temperature Source: https://github.com/simo5/vimini/blob/main/README.md Control the creativity of AI responses by setting the generation temperature. Values range from 0.0 to 2.0; lower values are more focused, higher values are more creative. This setting affects commands like :ViminiCode, :ViminiCommit, and :ViminiReview. ```vim " Set a specific temperature for generation let g:vimini_temperature = 0.7 ``` -------------------------------- ### Apply Code Changes with :ViminiApply Source: https://context7.com/simo5/vimini/llms.txt Applies unified diffs generated by :ViminiCode to your files. You can specify a job ID to apply changes from a specific diff buffer, or apply from the currently focused buffer if no job ID is given. ```vim " Apply from the currently focused Vimini Code buffer :ViminiApply " Apply from a specific job when multiple Vimini Code buffers are open :ViminiApply 3 " If multiple buffers exist and no job_id is specified, Vimini lists available jobs: " [Vimini] Multiple Vimini Code buffers found. Please specify which job to apply using -j . " Available Jobs: " - Job 2 (Buffer 5) " - Job 3 (Buffer 7) ``` -------------------------------- ### Apply Ripgrep Changes Source: https://github.com/simo5/vimini/blob/main/README.md Applies the AI-generated modifications from the `ViminiRipGrep` buffer to the actual files on disk and closes the temporary buffer. Use after reviewing and approving changes. ```vim :ViminiRipGrepApply ``` -------------------------------- ### :ViminiToggleAutocomplete Source: https://github.com/simo5/vimini/blob/main/README.md Toggles or sets the real-time autocomplete feature. When enabled, Vimini will automatically request a completion after you stop typing in insert mode for a short period. The suggestion will be displayed as ghost text. ```APIDOC ## :ViminiToggleAutocomplete [on|off] ### Description Toggles or sets the real-time autocomplete feature. When enabled, Vimini will automatically request a completion after you stop typing in insert mode for a short period. The suggestion will be displayed as ghost text. ### Method Command ### Parameters #### Path Parameters - **on|off** (string) - Optional - Explicitly turn autocomplete on or off. ### Examples ```vim " Toggle the current setting (on -> off, off -> on) :ViminiToggleAutocomplete " Explicitly turn autocomplete on :ViminiToggleAutocomplete on " Explicitly turn autocomplete off :ViminiToggleAutocomplete off ``` ``` -------------------------------- ### :ViminiFiles Source: https://github.com/simo5/vimini/blob/main/README.md Opens an interactive buffer to manage remotely stored files uploaded by commands like `:ViminiCode`. ```APIDOC ## :ViminiFiles ### Description Commands like `:ViminiCode` automatically upload files to Google to provide context for the AI. These files persist on the server. `:ViminiFiles` opens an interactive buffer to manage these remotely stored files, allowing you to view details or delete them when they are no longer needed. The command opens a `Vimini Files` buffer that lists all your uploaded files. ### Method Command ### Endpoint :ViminiFiles ### Usage in Manager Buffer * **`i`**: Shows detailed information about the file under the cursor in a new window. * **`d`**: Deletes the file under the cursor from the server. The list is refreshed automatically. * **`D`**: Deletes all uploaded files from the server (with confirmation). * **`q`**: Closes the `Vimini Files` buffer. ### Examples ```vim :ViminiFiles ``` ``` -------------------------------- ### Configure Vimini User Name Source: https://github.com/simo5/vimini/blob/main/doc/vimini.txt Set the g:vimini_user_name variable in your vimrc to customize the greeting message. Defaults to 'Vim User'. ```vimscript let g:vimini_user_name = 'Alice' ``` -------------------------------- ### Toggle Vimini Thinking Display Source: https://github.com/simo5/vimini/blob/main/README.md Control the visibility of the AI's thought process during operations. Run :ViminiThinking to toggle the current setting, or use :ViminiThinking on/off to explicitly set the display state. ```vim " Toggle the current setting (on -> off, off -> on) :ViminiThinking ``` ```vim " Explicitly turn the thinking display on :ViminiThinking on ``` ```vim " Explicitly turn the thinking display off :ViminiThinking off ``` -------------------------------- ### View Asynchronous Job Status Source: https://github.com/simo5/vimini/blob/main/README.md Opens a read-only buffer displaying the status of currently running asynchronous jobs, such as code generation or chat. Useful for monitoring long-running tasks. ```vim :ViminiStatus ``` -------------------------------- ### Toggle AI Thinking Display Source: https://context7.com/simo5/vimini/llms.txt Control the visibility of the AI's thought process during :ViminiCode and :ViminiReview using :ViminiThinking. This streams AI thoughts into a separate 'Vimini Thoughts' buffer. ```vim :ViminiThinking " Toggle current state (on → off, off → on) :ViminiThinking on " Explicitly enable thinking display :ViminiThinking off " Explicitly disable thinking display " Output: [Vimini] Thinking is now on ``` -------------------------------- ### :ViminiCommit Source: https://github.com/simo5/vimini/blob/main/README.md Automates the commit process using AI. This command has two main modes: Default Mode (Creating a new commit) and Regenerate/Amend Mode (`-r`). ```APIDOC ## :ViminiCommit [-n] [-r] [instructions] ### Description Automates the commit process using AI. This command has two main modes: Default Mode (Creating a new commit) and Regenerate/Amend Mode (`-r`). **Default Mode (Creating a new commit):** When run without flags (or with `-n`), it automates the creation of a new commit: Stages all current changes (`git add .`), generates a commit message based on the staged diff, displays the generated message for confirmation (`y/n`), and if confirmed, commits the changes with the generated message. **Regenerate/Amend Mode (`-r`):** When run with the `-r` flag, it regenerates the commit message for the last commit (`HEAD`) and amends it. It gets the diff from the `HEAD` commit, generates a new commit message based on that diff, displays the message for confirmation (`y/n`), and if confirmed, amends the `HEAD` commit with the new message. You can also provide optional `[instructions]` at the end of the command to guide the AI's message generation. ### Method Command ### Parameters #### Path Parameters - **instructions** (string) - Optional - Instructions to guide the AI's message generation. #### Query Parameters - **-n** - Optional - Omit the `Co-authored-by` trailer for a specific commit. - **-r** - Optional - Enable the regenerate/amend mode. ### Examples ```vim " Stage changes and generate a commit message for a new commit :ViminiCommit " Provide instructions for the commit message :ViminiCommit Include details about the bug fix " Do the same, but without the co-author trailer :ViminiCommit -n " Regenerate the message for the HEAD commit and amend it :ViminiCommit -r " Regenerate with instructions :ViminiCommit -r Make it shorter ``` ``` -------------------------------- ### Set Default Vimini Model Source: https://github.com/simo5/vimini/blob/main/README.md Specify the default Gemini model to be used by Vimini. The default is 'gemini-2.5-flash'. You can change this to other available models like 'gemini-2.5-pro'. ```vim let g:vimini_model = 'gemini-2.5-flash' " Or 'gemini-2.5-pro', etc. ``` -------------------------------- ### Reload Vimini Python Modules Source: https://context7.com/simo5/vimini/llms.txt Reloads all Vimini Python modules from disk without restarting Vim, preserving current API key and model settings. Intended for plugin developers. ```vim :ViminiReload " Output: [Vimini] Vimini Python modules reloaded. ``` -------------------------------- ### :ViminiThinking [on|off] Source: https://context7.com/simo5/vimini/llms.txt Controls the display of the AI's intermediate thought process during code generation or review operations. This can be toggled or explicitly set to on or off. ```APIDOC ## :ViminiThinking [on|off] ### Description Toggles or explicitly sets whether the AI's real-time "thinking" process is streamed into a separate `Vimini Thoughts` buffer during `:ViminiCode` and `:ViminiReview`. ### Method Ex command ### Endpoint N/A ### Parameters - **on|off** (string) - Optional - Explicitly enable or disable the thinking display. If omitted, toggles the current state. ### Request Example ```vim :ViminiThinking " Toggle current state (on → off, off → on) :ViminiThinking on " Explicitly enable thinking display :ViminiThinking off " Explicitly disable thinking display ``` ### Response #### Success Response Confirmation message indicating the new state of the thinking display. #### Response Example ``` [Vimini] Thinking is now on ``` ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.