|
1 | | -# 🚀 sshfs.nvim |
| 1 | +# 📡 sshfs.nvim |
2 | 2 |
|
3 | 3 | [](https://opensource.org/licenses/MIT) |
4 | 4 | [](https://neovim.io/) |
5 | 5 | [](https://github.com/uhs-robert/sshfs.nvim/stargazers) |
6 | 6 | [](https://github.com/uhs-robert/sshfs.nvim/issues) |
7 | 7 |
|
8 | | -A minimal, fast **SSHFS** integration for **NeoVim**: use your preferred file picker, tools, and edit remote files without leaving your editor. |
| 8 | +A minimal, fast **SSHFS** integration for **NeoVim** that **works with YOUR setup**. No forced dependencies. Use your preferred file picker, search tools, and workflow to edit remote files without leaving your editor. |
9 | 9 |
|
10 | | -Mount any host from your `~/.ssh/config`, or add custom hosts, and browse remote files as if they were local. Jump between your local machine and remote mounts with a keystroke. |
| 10 | +**🎯 Smart Integration**: Automatically detects and launches **telescope**, **oil**, **neo-tree**, **nvim-tree**, **snacks**, **fzf-lua**, **mini**, **yazi**, **lf**, **nnn**, **ranger**, or **netrw**. Your workflow, your choice. |
| 11 | + |
| 12 | +Mount any host from your `~/.ssh/config` and browse remote files as if they were local. Jump between your local machine and remote mounts with a keystroke. |
11 | 13 |
|
12 | 14 | <https://github.com/user-attachments/assets/20419da8-37b9-4325-a942-90a85754ce11> |
13 | 15 |
|
14 | 16 | ## ✨ Features |
15 | 17 |
|
16 | | -- **Zero external dependencies** - No telescope, plenary, or other plugin dependencies required |
17 | | -- **Smart picker auto-detection** - Automatically detects and launches your preferred file pickers |
18 | | -- **Extensive picker support** - Supports telescope, oil, neo-tree, nvim-tree, snacks, fzf-lua, mini, yazi, lf, nnn, ranger, with netrw fallback |
| 18 | +### 🎯 **Works With Your Existing Setup** |
| 19 | + |
| 20 | +- **Smart picker auto-detection** - Automatically detects and launches YOUR preferred file pickers |
| 21 | +- **Universal compatibility** - Supports **telescope**, **oil**, **neo-tree**, **nvim-tree**, **snacks**, **fzf-lua**, **mini**, **yazi**, **lf**, **nnn**, **ranger**, with **netrw** fallback |
| 22 | +- **Search integration** - Auto-launches your preferred search tool (telescope live_grep, snacks grep, fzf-lua live_grep, mini grep_live, or built-in grep) |
| 23 | +- **Zero forced dependencies** - No telescope, plenary, or other plugin dependencies required |
| 24 | + |
| 25 | +### 🏗️ **Modern Architecture** |
| 26 | + |
19 | 27 | - **Modern Neovim APIs** - Built for Neovim 0.10+ with vim.uv |
20 | 28 | - **Robust authentication** - Key authentication with password fallback mechanisms |
21 | 29 | - **Modular architecture** - Clean separation of core functionality, UI components, and utilities |
@@ -124,14 +132,14 @@ require("sshfs").setup({ |
124 | 132 | fallback_to_netrw = true, -- fallback to netrw if no picker is available |
125 | 133 | }, |
126 | 134 | }, |
127 | | - lead_prefix = "<leader>s", -- change keymap prefix (default: <leader>m) |
| 135 | + lead_prefix = "<leader>m", -- change keymap prefix (default: <leader>m) |
128 | 136 | keymaps = { |
129 | | - mount = "<leader>sm", |
130 | | - unmount = "<leader>su", |
131 | | - edit = "<leader>se", |
132 | | - reload = "<leader>sr", |
133 | | - open = "<leader>so", |
134 | | - grep = "<leader>sg", |
| 137 | + mount = "<leader>mm", |
| 138 | + unmount = "<leader>mu", |
| 139 | + edit = "<leader>me", |
| 140 | + reload = "<leader>mr", |
| 141 | + open = "<leader>mo", |
| 142 | + grep = "<leader>mg", |
135 | 143 | }, |
136 | 144 | log = { |
137 | 145 | enabled = false, |
@@ -198,18 +206,15 @@ After connecting to a host with `:SSHConnect`, the plugin mounts the remote file |
198 | 206 |
|
199 | 207 | - **Auto-detected pickers**: telescope, oil, neo-tree, nvim-tree, snacks, fzf-lua, mini, yazi, lf, nnn, ranger |
200 | 208 | - **Fallback**: netrw if no other picker is available |
| 209 | + - **Your choice**: Configure `preferred_picker = "yazi"` to force a specific picker |
201 | 210 |
|
202 | 211 | 2. **Search files**: Use `:SSHGrep [pattern]` to automatically launch your preferred search tool: |
203 | 212 | - **Auto-detected search**: telescope live_grep, snacks grep, fzf-lua live_grep, mini grep_live |
204 | 213 | - **Fallback**: built-in grep with quickfix list |
205 | 214 |
|
206 | | -The plugin intelligently detects what you have installed and launches it automatically, respecting your existing Neovim setup and preferences. |
| 215 | +**🎯 The Magic**: The plugin intelligently detects what you have installed and launches it automatically, respecting your existing Neovim setup and preferences. No configuration required, it just works with whatever you're already using. |
207 | 216 |
|
208 | 217 | ## 💡 Tips and Performance |
209 | 218 |
|
210 | 219 | - If key authentication fails, the plugin will prompt for a password up to 3 times before giving up. |
211 | 220 | - SSH keys vastly speed up repeated mounts (no password prompt), leverage your `ssh_config` rather than manually adding hosts to make this as easy as possible. |
212 | | - |
213 | | -## 📜 License |
214 | | - |
215 | | -This plugin is released under the MIT license. Please see the [LICENSE](https://github.com/uhs-robert/sshfs.nvim?tab=MIT-1-ov-file) file for details. |
|
0 commit comments