{"id":13898200,"url":"https://github.com/habamax/vim-dir","last_synced_at":"2025-05-05T02:31:26.998Z","repository":{"id":44398257,"uuid":"512456355","full_name":"habamax/vim-dir","owner":"habamax","description":"Vim file manager","archived":false,"fork":false,"pushed_at":"2025-03-26T23:17:20.000Z","size":217,"stargazers_count":52,"open_issues_count":2,"forks_count":3,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-08T15:49:43.767Z","etag":null,"topics":["directory","filemanager","filesystem","vim","vim9"],"latest_commit_sha":null,"homepage":"","language":"Vim Script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/habamax.png","metadata":{"files":{"readme":"README.rst","changelog":null,"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}},"created_at":"2022-07-10T14:29:39.000Z","updated_at":"2025-03-29T18:01:14.000Z","dependencies_parsed_at":"2023-12-19T11:58:51.262Z","dependency_job_id":"0d48f22c-5618-458d-97f9-3c9415b2a7eb","html_url":"https://github.com/habamax/vim-dir","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/habamax%2Fvim-dir","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/habamax%2Fvim-dir/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/habamax%2Fvim-dir/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/habamax%2Fvim-dir/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/habamax","download_url":"https://codeload.github.com/habamax/vim-dir/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252427868,"owners_count":21746288,"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","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":["directory","filemanager","filesystem","vim","vim9"],"created_at":"2024-08-06T18:04:09.322Z","updated_at":"2025-05-05T02:31:26.440Z","avatar_url":"https://github.com/habamax.png","language":"Vim Script","funding_links":[],"categories":["Vim Script","File Management"],"sub_categories":[],"readme":"********************************************************************************\n                             VIM-DIR: file manager\n********************************************************************************\n\n:Minimum requirements: ``Vim9``, ``Huge version``\n\n.. image:: https://user-images.githubusercontent.com/234774/178149719-1a77e114-728b-42e9-9530-701f1a701380.gif\n\nMore screencasts:\n\n- Navigation_\n- `Bookmarks and History`_\n- `Copy/move/delete/rename`_\n- Filtering_\n- `Compare with netrw`_\n\n.. _Navigation: https://user-images.githubusercontent.com/234774/181280095-de13afb2-2db0-439f-a388-bb9e853fc989.gif\n.. _`Bookmarks and History`: https://user-images.githubusercontent.com/234774/181280105-a95771e8-f5d9-4cb1-b871-b24663a9ba89.gif\n.. _`Copy/move/delete/rename`: https://user-images.githubusercontent.com/234774/181280108-c98aec2a-6a02-4f40-b1ff-62d7afc5301c.gif\n.. _Filtering: https://user-images.githubusercontent.com/234774/181280112-361093ee-6c22-4c25-9a49-529f8222da10.gif\n.. _`Compare with netrw`: https://user-images.githubusercontent.com/234774/181282440-259d6043-f065-4bc7-945a-48aaf269f5f0.gif\n\n\nCommands and Mappings\n=====================\n\nGlobal commands\n---------------\n\n- ``:Dir [path]`` — open a path as a directory listing.\n\n- Use ``:Dir`` or regular ``:edit``/``:e`` command to refresh directory listing.\n\n\nLocal commands\n--------------\n\n- ``:DirFilter[!] {regex}`` — Show files/directories matching ``{regex}``.\n  With ``!`` hide files/directories matching ``{regex}``::\n\n    # Show files/dirs with   e   in the name\n    :DirFilter e\n    # Hide files/dirs with   e   in the name\n    :DirFilter! e\n\n    # Hide files/dirs with   e.*p   in the name\n    :DirFilter! e.*p\n\n- ``:DirFilterClear`` — clear filter.\n\n- ``:DirBookmark`` — save bookmark for a current directory.\n  Bookmarks are saved in ``~/.config/vim-dir/bookmarks.json`` or\n  ``$APPDATA/vim-dir/bookmarks.json`` depending on OS.\n\n- ``:DirBookmarkJump`` — jump to bookmarked directory.\n\n- ``:DirHistoryJump`` — jump to directory from history.\n\n\nGlobal mappings\n---------------\n\nThere are no global mappings.\n\nYou can set at least one yourself to quickly call ``Dir``:\n\n.. code::\n\n  nnoremap \u003cbs\u003e \u003ccmd\u003eDir\u003ccr\u003e\n\nWith that mapping you would be able to trigger a ``Dir`` with :kbd:`Backspace`\nshowing current buffer file name in a directory list. Consequent\n:kbd:`Backspace` presses would open parent directories.\n\n\nOther global mappings might be, for example:\n\n.. code::\n\n  nnoremap \u003cspace\u003egd \u003ccmd\u003eDir ~/Documents\u003ccr\u003e\n  nnoremap \u003cspace\u003egD \u003ccmd\u003eDir ~/Downloads\u003ccr\u003e\n\n\nLocal mappings\n--------------\n\nNavigation\n~~~~~~~~~~\n\n- :kbd:`Backspace` or :kbd:`u` or :kbd:`-` — one directory up.\n- :kbd:`Enter` or :kbd:`o` — open a file or a directory under cursor.\n- :kbd:`O` — open a file/directory with OS.\n- :kbd:`s` — open a file/directory in a split.\n- :kbd:`S` — open a file/directory in a vertical split.\n- :kbd:`t` — open a file/directory in a tab.\n- :kbd:`Ctrl-R` — refresh directory.\n- :kbd:`]]` — jump over directories forward, place cursor on a first file/last\n  directory.\n- :kbd:`[[` — jump over directories backward, place cursor on the last/first\n  directory.\n- :kbd:`gj` — open quick jump menu.\n\n\nFile operations\n~~~~~~~~~~~~~~~\n\n- :kbd:`i` — preview a file (first 100 lines) or show dir info (nothing on\n  windows).\n- :kbd:`x` — toggle selection of file/directory.\n- :kbd:`X` — toggle selection of all files/directories (select/unselect all).\n- :kbd:`D` or :kbd:`dd` — delete files/directories.\n- :kbd:`R` or :kbd:`rr` — rename files/directories.\n- :kbd:`p` — copy selected files/directories into current directory.\n- :kbd:`P` — move selected files/directories into current directory.\n- :kbd:`A` — open actions menu.\n- :kbd:`C` — create directory.\n- :kbd:`cc` — create file.\n\n\nBookmarks \u0026 History\n~~~~~~~~~~~~~~~~~~~\n\n- :kbd:`~` or :kbd:`g~` — open home directory.\n- :kbd:`g1` up to  :kbd:`g0` — open numbered bookmark.\n- :kbd:`Ctrl-A` :kbd:`1` up to  :kbd:`Ctrl-A` :kbd:`0` — set numbered\n  bookmark for a current directory.\n- :kbd:`gb` — open bookmarks jump menu.\n- :kbd:`gh` — open history jump menu. History is saved for each directory where\n  file was opened for editing.\n\n\nSort\n~~~~\n\n- :kbd:`g` :kbd:`,` — sort current buffer dir by size.\n- :kbd:`g` :kbd:`.` — sort current buffer dir by time.\n- :kbd:`g` :kbd:`/` — sort current buffer dir by name.\n\n\nFilter and View\n~~~~~~~~~~~~~~~\n\n- :kbd:`.` — toggle ``.hidden`` files/directories.\n- :kbd:`\u003e` — widen the dir view (adding some columns).\n- :kbd:`\u003c` — shrink the dir view (removing some columns).\n\n\nSettings\n========\n\n- ``g:dir_open_os`` — if a file/directory is matched against file extension in a\n  list, open it using OS.\n- ``g:dir_invert_split`` — by default :kbd:`s` splits horizontally and :kbd:`S`\n  splits vertically. Set to ``1``/``true`` to make the opposite.\n- ``g:dir_sort_by`` — sort by one of ``name``, ``size`` or ``time``. Default is\n  ``name``.\n- ``g:dir_sort_desc`` — if true, sort ``desc``, otherwise ``asc``. Default is\n  ``false``.\n- ``g:dir_show_hidden`` — show/hide ``.hidden`` files/directories. Default is\n  ``true``.\n- ``g:dir_history_size`` — maximum numbers of directories in history. Default is\n  `100`.\n- ``g:dir_columns`` — columns for the dir view. Default is\n\n  - Windows: ``perm,size,time,name``\n  - Linux/Other: ``perm,user,group,size,time,name``\n\n  Columns ``perm`` and ``name`` are mandatory and should be in order.\n\n- ``g:dir_change_cwd`` — change current working directory on file opening.\n  Default is ``0``.\n\n\nMaybe Features\n==============\n\n- Support archives: view contents/create/add/extract (using ``7z`` maybe?).\n\n- Background file operations (copy/move/delete).\n\n\n\nNon Features\n============\n\n- ✗ No treeview, no sidepanel.\n\n- ✗ Mass rename ala ``qmv``/``vidir`` (explore feasibility).\n\n- ✗ Networking ala ``netrw`` or ``mc``.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhabamax%2Fvim-dir","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhabamax%2Fvim-dir","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhabamax%2Fvim-dir/lists"}