Git Product home page Git Product logo

dirstack.nvim's Introduction

dirstack.nvim

A smart directory history navigator similar to tagstack.

features

  • similar to tagstack
    • new records will be added after current one
    • subsequent records will be discard
  • differ from tagstack
    • records will be never duplicated
    • duplicated ones will be move after current one
  • auto ignore and sweep deleted directory in history
  • commands
    • Dirs: list your dirs history, in :jumps format
    • Dirp: goto previous dir in directory history
    • Dirn: goto next dir in directory history
    • CleanDirs: clean you dir

install

use lazy.nvim

{
  'phanen/dirstack.nvim',
  event = 'DirchangedPre',
  keys = {
    { '<leader><c-p>', "<cmd>lua require('dirstack').prev()<cr>" },
    { '<leader><c-n>', "<cmd>lua require('dirstack').next()<cr>" },
    { '<leader><c-l>', "<cmd>lua require('dirstack').hist()<cr>" },
  },
  opts = {},
},

example

:Dirs

  /a
  /b
> /c

:Dirp

  /a
> /b
  /c

:cd /c | cd /d | cd /e | cd /f | cd /f (ignore duplicated)

  /a
  /c
  /d
  /e
> /f

:Dirp, :Dirp

  /a
  /c
> /d
  /e
  /f

:cd /a

  /c
  /d
> /a

todo

  • refactor as "stack" mode
  • handle deleted directory history
  • [number][operation]
  • vim.ui.select
  • what if dir died due to moved?
  • colorful info
  • limit dir cache/list size

dirstack.nvim's People

Contributors

github-actions[bot] avatar phanen avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.