Giter Club home page Giter Club logo

pathfinder.vim's People

Contributors

actions-user avatar ayyess avatar danth avatar sandersantema avatar shubgant avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

pathfinder.vim's Issues

Freezes during i_ctrl-r with vim-peekaboo

set rtp+=~/.config/nvim/autoload/plug.vim
call plug#begin('~/.config/nvim/plugged')
Plug 'junegunn/vim-peekaboo'
Plug 'AlphaMycelium/pathfinder.vim'
call plug#end()

Press i<C-r>

Timeout option

Allow setting a timeout after which the pathfinder will give up trying to find a path.

Do not show hint if its length is >= the number of keys pressed.

I find often this plugin will show me hints that are exactly equivalent to the keys I pressed or insignificantly different. It would be neat if the plugin was aware of my own keypresses (at the very least the number of them) and could use this information to not show hints that take the same number (or a larger number) of keypresses to accomplish what I did.

kk is not always the same as 2k

aaaaaaaaZaaaaY
bbbbbbbbb
cccccccccccccccccXc

Start from X and go to Y. 2k ends up on Y. kk ends up on Z. Currently kk is suggested.

Describe what each motion does

Instead of just concatenating all the motions together, echo them out step-by-step along with descriptions.

This would help beginners to learn what things do without having to look it up with :help.

Work with [line]G

Use G along with a count to jump to a specific line, when &number is enabled and the line number to jump to is visible on screen.

Make PathfinderBegin and PathfinderRun automatic

This is a feature request to make the plugin track my position between edits and take those two points as the beginning and ending points for the path to be optimized. The way this can work is PathfinderBegin is auto set to take the point where the last edit was made as the starting pint and the moment I do an edit PathfinderRun auto runs.

Freezes when handling large files

Vim freezes for a while when transferring a large file to the server for pathfinding.

Possible Solution

If a buffer is read-only, or unmodified, send only the file path and allow the server to read it from disk. This will not work while editing, but since this problem occurs most often with the help pages it can be at least an improvement.

Undefined variable: g:python3_host_prog

I'm getting the following error when trying to run pathfinder on my installation of Neovim:

Error detected while processing function provider#python3#Call:                                                                                            
line   18:                                                                                                                                                 
Error invoking 'python_execute' on channel 4 (python3-script-host):                                                                                        
Traceback (most recent call last):                                                                                                                         
  File "<string>", line 1, in <module>                                                                                                                     
  File "/home/jack/.local/share/nvim/plugged/pathfinder.vim/pathfinder/client/plugin.py", line 15, in __init__                                             
    self.client = Client()                                                                                                                                 
  File "/home/jack/.local/share/nvim/plugged/pathfinder.vim/pathfinder/client/client.py", line 24, in __init__                                             
    self.open()                                                                                                                                            
  File "/home/jack/.local/share/nvim/plugged/pathfinder.vim/pathfinder/client/client.py", line 34, in open                                                 
    self._build_server_cmd(), stdout=subprocess.PIPE, stderr=subprocess.PIPE                                                                               
  File "/home/jack/.local/share/nvim/plugged/pathfinder.vim/pathfinder/client/client.py", line 58, in _build_server_cmd                                    
    python3_host_prog = vim.eval("g:python3_host_prog")                                                                                                    
  File "/home/jack/.local/lib/python3.9/site-packages/pynvim/plugin/script_host.py", line 205, in eval                                                     
    obj = self.request("vim_eval", expr)                                                                                                                   
  File "/home/jack/.local/lib/python3.9/site-packages/pynvim/api/nvim.py", line 182, in request                                                            
    res = self._session.request(name, *args, **kwargs)                                                                                                     
  File "/home/jack/.local/lib/python3.9/site-packages/pynvim/msgpack_rpc/session.py", line 102, in request                                                 
    raise self.error_wrapper(err)                                                                                                                          
pynvim.api.common.NvimError: Vim:E121: Undefined variable: g:python3_host_prog

This is from my :checkhealth:

## Python 3 provider (optional)
  - INFO: `g:python3_host_prog` is not set.  Searching for python3 in the environment.
  - INFO: Multiple python3 executables found.  Set `g:python3_host_prog` to avoid surprises.
  - INFO: Executable: /home/linuxbrew/.linuxbrew/bin/python3
  - INFO: Other python executable: /usr/bin/python3
  - INFO: Other python executable: /bin/python3
  - INFO: Python version: 3.9.13
  - INFO: pynvim version: 0.4.3
  - OK: Latest pynvim is installed.

And this is my version info:

NVIM v0.7.0
Build type: RelWithDebInfo
LuaJIT 2.1.0-beta3
Compilation: /usr/bin/cc -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -DNVIM_TS_HAS_SET_MATCH_LIMIT -DNVIM_TS_HAS_SET_ALLOCATOR -O2 -g -Og -g -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wshadow -Wconversion -Wdouble-promotion -Wmissing-noreturn -Wmissing-format-attribute -Wmissing-prototypes -Wimplicit-fallthrough -Wsuggest-attribute=pure -Wsuggest-attribute=const -Wvla -fstack-protector-strong -fno-common -fdiagnostics-color=always -DINCLUDE_GENERATED_DECLARATIONS -D_GNU_SOURCE -DNVIM_MSGPACK_HAS_FLOAT32 -DNVIM_UNIBI_HAS_VAR_FROM -DMIN_LOG_LEVEL=3 -I/build/nvim/parts/nvim/build/build/config -I/build/nvim/parts/nvim/build/src -I/build/nvim/parts/nvim/build/.deps/usr/include -I/usr/include -I/build/nvim/parts/nvim/build/build/src/nvim/auto -I/build/nvim/parts/nvim/build/build/include
Compiled by root@lcy02-amd64-012

Features: +acl +iconv +tui
See ":help feature-compile"

   system vimrc file: "$VIM/sysinit.vim"
  fall-back for $VIM: "/usr/share/nvim"

IndexError when deleting lines at the end of a file

An IndexError is caused when deleting something at the end of a file, e.g. G dap, and then trying to pathfind to that location. We should be pathfinding in the buffer from just before the deletion, not afterwards.

Problem launching server on Neovim

Error detected while processing function PathfinderLoop[6]..provider#python3#Call:                                                                                                                          
line   18:                                                                                                                                                                                                  
Error invoking 'python_execute' on channel 4 (python3-script-host):                                                                                                                                         
Traceback (most recent call last):                                                                                                                                                                          
  File "<string>", line 1, in <module>                                                                                                                                                                      
  File "/home/ed/.vim/plugged/pathfinder.vim/pathfinder/commands.py", line 72, in autorun                                                                                                                   
    run()                                                                                                                                                                                                   
  File "/home/ed/.vim/plugged/pathfinder.vim/pathfinder/commands.py", line 49, in run                                                                                                                       
    client.pathfind(start_state.view, current_state.view, show_output)                                                                                                                                      
  File "/home/ed/.vim/plugged/pathfinder.vim/pathfinder/client.py", line 125, in pathfind                                                                                                                   
    self.server_connection.send(                                                                                                                                                                            
AttributeError: 'NoneType' object has no attribute 'send'`

I have the latest python3 and did a pip3 install for timers and popupwin

1-100% motions

Numbers from 1 to 100 can be used with % to jump to percentages of the buffer's total lines. These only need to appear as children of the start node.

Move to anywhere on the target line in visual-line mode

In visual-line mode, it doesn't matter where exactly the cursor is as long as it lands on the same line as the target. This can be used to accept shorter paths.

if all nodes on target line have been closed:
    backtrack from the one with the lowest g

Set fg/bg color of popup

On certain colorschemes (e.g. koehler, among others), popups appear un-highlighted. This can make it difficult to distinguish popups from actual text.

Screenshot_2020-07-02_17-52-52

Is there a way to configure the appearance of the popup?

Cognitive complexity

Add weights to motions based on the difficulty to understand/use them. For example, j would be cheaper than ]].

There can then be a scale between selecting the shortest path, and the simplest path.

NameError Traceback

OS: Fedora 31

$ vim --version
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Apr 14 2020 22:30:44)
Included patches: 1-579
...
$ vim --version | grep +timers
+channel           +insert_expand     +path_extra        +timers
$ vim --version | grep +python3
+conceal           +linebreak         +python3           +visualextra
$ python -V
3.7.6

Steps to reproduce

NOTE: Before doing this, I've run rm -rf ~/.vim.

  1. Install minPlug:
$ git clone https://github.com/Jorengarenar/minPlug.git ~/.vim/pack/plugins/opt/minPlug/
  1. Setup ~/.vim/vimrc are as follows:
packadd minPlug

MinPlug AlphaMycelium/pathfinder.vim
  1. Install plugins:
:MinPlugInstall!

While installing the plugins, the following happens:

Error detected while processing /home/amasquelier/.vim/pack/plugins/opt/pathfinder.vim/plugin/main.vim:
line   12:
E221: Marker cannot start with lower case letter
  File "<string>", line 1
    << endpython
     ^
SyntaxError: invalid syntax
line   13:
E1042: import/export can only be used in vim9script
line   14:
E1042: import/export can only be used in vim9script
line   15:
E492: Not an editor command: from os.path import normpath, join
line   17:
E492: Not an editor command: plugin_root_dir = vim.eval("fnamemodify(resolve(expand('<sfile>:p')), ':h')")
line   18:
E319: Sorry, the command is not available in this version: python_root_dir = normpath(join(plugin_root_dir, '..', 'python'))
line   19:
E492: Not an editor command: sys.path.insert(0, python_root_dir)
line   20:
E492: Not an editor command: endpython
line   27:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'commands'
  1. Try to reload Vim in verbose mode with vim -V, and observe:
Executing BufEnter Autocommands for "*"
autocommand sil call s:LocalBrowse(expand("<amatch>"))
Executing VimEnter Autocommands for "*"
Press ENTER or type command to continue
autocommand let s:timer = timer_start(100, 'PathfinderLoop', {'repeat': -1})
Press ENTER or type command to continue
Executing VimEnter Autocommands for "*"
Press ENTER or type command to continue
Error detected while processing function PathfinderLoop:
line    2:
Traceback (most recent call last):
Press ENTER or type command to continue
Error detected while processing function PathfinderLoop:
line    2:
  File "<string>", line 1, in <module>
Press ENTER or type command to continue
Error detected while processing function PathfinderLoop:
line    2:
NameError: name 'commands' is not defined
Press ENTER or type command to continue
Error detected while processing function PathfinderLoop:
line    6:
Traceback (most recent call last):
Press ENTER or type command to continue
Error detected while processing function PathfinderLoop:
line    6:
  File "<string>", line 1, in <module>
Press ENTER or type command to continue
Error detected while processing function PathfinderLoop:
line    6:
NameError: name 'commands' is not defined

Modifying the loop to do:

  function! PathfinderLoop(timer)
    " Check for responses from the server
    python3 print(sys.path)
    python3 commands.client.poll_responses()
    ...

shows the following:

['/usr/lib64/python37.zip', '/usr/lib64/python3.7', '/usr/lib64/python3.7/lib-dynload', '/usr/local/lib/python3.7/site-packages', '/usr/lib64/python3.7/site-packages', '/usr/lib/python3.7/site-packages', '_vim_path_']

so I'm not sure if this is something that minPlug is doing wrong, and how it works with other plugin managers. I'm also not sure how PYTHONPATH really works in regards to Vim.


Any ideas here?

Not working with folds

Folds are not transferred to the server.

Possible Solution

This and #42 could be fixed by using mksession as part of the transfer. That may also help with #39 and #32 if it gives better performance. sessionoptions can be temporarily changed to only include necessary information, and the session is written to a temporary file.

Search commands as a motion

Implement the use of search commands (/) as a motion.

As I suggested here, a way to get at least some functionality could be:

  1. Find the shortest unique substring of the file which starts from the target position
  2. Convert that into a search command
  3. Select either the search or the standard movement path depending on the number of keypresses required for each

Using searches in combination with other motions seems like a more difficult problem to tackle.

"Undefined variable: g:python3_host_prog" on non-Neovim installation

Launching MacVim with pathfinder.vim installed complains about g:python3_host_prog not being found:

Error detected while processing /Users/itai/.dotfiles/vim/.vim/bundle/pathfinder.vim/plugin/main.vim:
line   27:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Users/itai/.dotfiles/vim/.vim/bundle/pathfinder.vim/pathfinder/client/plugin.py", line 15, in __init__
    self.client = Client()
  File "/Users/itai/.dotfiles/vim/.vim/bundle/pathfinder.vim/pathfinder/client/client.py", line 24, in __init__
    self.open()
  File "/Users/itai/.dotfiles/vim/.vim/bundle/pathfinder.vim/pathfinder/client/client.py", line 34, in open
    self._build_server_cmd(), stdout=subprocess.PIPE, stderr=subprocess.PIPE
  File "/Users/itai/.dotfiles/vim/.vim/bundle/pathfinder.vim/pathfinder/client/client.py", line 43, in _build_server_cmd
    python3_host_prog = vim.eval("g:python3_host_prog")
vim.error: Vim:E121: Undefined variable: g:python3_host_prog
Press ENTER or type command to continue

Interestingly, this line is only supposed to be hit if nvim is present:

    def _build_server_cmd(self):
        """Build the command used to launch the server Vim."""
        if vim.eval("has('nvim')"):
            python3_host_prog = vim.eval("g:python3_host_prog")
            options = [
                "--headless",
                "--cmd",
                f"let g:python3_host_prog='{python3_host_prog}'",
            ]
        else:
            options = ["-v", "--not-a-term"]

However, I'm not in Neovim, and both :echo has('nvim') and :py3 print(vim.eval("has('nvim')")) print 0. I'm not sure what could cause vim.eval("has('nvim')") to evaluate to a truthy value especially since executing the same test manually doesn't replicate that value.

It's not exactly g:python3_host_prog itself that's an issue, because even if I manually define it, pathfinder.vim is setting options in order to launch a Neovim instance, and regular vim doesn't recognize --headless. Any idea what might be causing this? Would it make sense to inspect v:progpath instead of has('nvim') because that's what eventually gets launched anyway? (Changing the condition to if vim.eval("has('nvim')" == 1: resolves the issue of course, but this seems hacky since 0 should be falsy anyway, right?)


Vim version (expand for features):
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Dec  3 2020 11:33:19)
macOS version
Included patches: 1-1719
Compiled by Homebrew
Huge version with MacVim GUI.  Features included (+) or not (-):
+acl               +file_in_path      -mouse_sysmouse    -tag_old_static
+arabic            +find_in_path      +mouse_urxvt       -tag_any_white
+autocmd           +float             +mouse_xterm       +tcl
+autochdir         +folding           +multi_byte        +termguicolors
-autoservername    -footer            +multi_lang        +terminal
+balloon_eval      +fork()            -mzscheme          +terminfo
+balloon_eval_term +fullscreen        +netbeans_intg     +termresponse
+browse            +gettext           +num64             +textobjects
++builtin_terms    -hangul_input      +odbeditor         +textprop
+byte_offset       +iconv             +packages          +timers
+channel           +insert_expand     +path_extra        +title
+cindent           +ipv6              +perl              +toolbar
+clientserver      +job               +persistent_undo   +transparency
+clipboard         +jumplist          +popupwin          +user_commands
+cmdline_compl     +keymap            +postscript        +vartabs
+cmdline_hist      +lambda            +printer           +vertsplit
+cmdline_info      +langmap           +profile           +virtualedit
+comments          +libcall           -python            +visual
+conceal           +linebreak         +python3           +visualextra
+cryptv            +lispindent        +quickfix          +viminfo
+cscope            +listcmds          +reltime           +vreplace
+cursorbind        +localmap          +rightleft         +wildignore
+cursorshape       +lua               +ruby              +wildmenu
+dialog_con_gui    +menu              +scrollbind        +windows
+diff              +mksession         +signs             +writebackup
+digraphs          +modify_fname      +smartindent       -X11
+dnd               +mouse             -sound             -xfontset
-ebcdic            +mouseshape        +spell             +xim
+emacs_tags        +mouse_dec         +startuptime       -xpm
+eval              -mouse_gpm         +statusline        -xsmp
+ex_extra          -mouse_jsbterm     -sun_workshop      -xterm_clipboard
+extra_search      +mouse_netterm     +syntax            -xterm_save
-farsi             +mouse_sgr         +tag_binary
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "$VIM/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/gvimrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/Applications/MacVim.app/Contents/Resources/vim"
Compilation: clang -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe  -DMACOS_X -DMACOS_X_DARWIN  -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: clang   -L. -fstack-protector-strong -L/Users/itai/Homebrew/lib -L/Users/itai/Homebrew/opt/libyaml/lib -L/Users/itai/Homebrew/opt/[email protected]/lib -L/Users/itai/Homebrew/opt/readline/lib -L. -fstack-protector-strong -L/Users/itai/Homebrew/lib -L/Users/itai/Homebrew/opt/libyaml/lib -L/Users/itai/Homebrew/opt/[email protected]/lib -L/Users/itai/Homebrew/opt/readline/lib  -L/Users/itai/Homebrew/lib -o Vim -framework Cocoa -framework Carbon       -lm  -lncurses -liconv /Users/itai/Homebrew/lib/libintl.a -framework AppKit  -L/Users/itai/Homebrew/opt/lua/lib -llua5.4 -fstack-protector-strong  -L/System/Library/Perl/5.28/darwin-thread-multi-2level/CORE -lperl  -L/Users/itai/Homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.9/lib/python3.9/config-3.9-darwin -lpython3.9 -lintl -framework CoreFoundation -F/System/Library/Frameworks -framework Tcl -framework CoreFoundation -lruby.2.7

Suggest use of existing marks

Use pre-existing marks to create suggestions. They only need to appear as children of the start node, since making other movements and then jumping to a mark wouldn't make sense.

Failing to start after latest update

Neo Vim info

  • NVIM v0.4.3
  • Build type: Release
  • LuaJIT 2.0.5

I'm using Plug to manage plugins. I have the simple line

"Plug 'AlphaMycelium/pathfinder.vim'

I have Python 3.8.5 and pynvim 0.4.1. Here is the trace back I get when I open vim on any file:

Error detected while processing function PathfinderLoop[2]..provider#python3#Call:                                                                                            line   18:                                                                                                                                                                    
Error invoking 'python_execute' on channel 3 (python3-script-host):                                                                                                           
Traceback (most recent call last):                                                                                                                                            
  File "<string>", line 1, in <module>                                                                                                                                        
  File "/home/user/.vim/plugged/pathfinder.vim/pathfinder/client/client.py", l                                                                                            
ine 87, in poll_responses                                                                                                                                                     
    self.handle_response(response_type, data)                                                                                                                                 
  File "/home/user/.vim/plugged/pathfinder.vim/pathfinder/client/client.py", l                                                                                            
ine 133, in handle_response                                                                                                                                                   
    raise Exception("Pathfinding server encountered an exception:\n" + data)                                                                                                  
Exception: Pathfinding server encountered an exception:                                                                                                                       
Traceback (most recent call last):                                                                                                                                            
  File "/home/user/.vim/plugged/pathfinder.vim/pathfinder/server/server.py", l                                                                                            
ine 57, in message_loop                                                                                                                                                       
    self.do_action(data)                                                                                                                                                      
  File "/home/user/.vim/plugged/pathfinder.vim/pathfinder/server/server.py", l                                                                                            
ine 74, in do_action                                                                                                                                                          
    vim.current.window.options["scrolloff"] = data["scrolloff"]                                                                                                               
  File "/home/user/.local/lib/python3.8/site-packages/pynvim/api/common.py", line 116, in __setitem__                                                                     
    self._set(key, value)                                                                                                                                                     
  File "/home/user/.local/lib/python3.8/site-packages/pynvim/api/common.py", line 58, in request                                                                          
    return self._session.request(name, self, *args, **kwargs)                                                                                                                 
  File "/home/user/.local/lib/python3.8/site-packages/pynvim/api/nvim.py", line 182, in request                                                                           
    res = self._session.request(name, *args, **kwargs)                                                                                                                        
  File "/home/user/.local/lib/python3.8/site-packages/pynvim/msgpack_rpc/session.py", line 104, in request                                                                
    raise self.error_wrapper(err)                                                                                                                                             
pynvim.api.common.NvimError: Invalid option name 'scrolloff'  

Please let me know if I can provide any other information. Really like your plugin ๐Ÿ‘

Function error python3#Call

I am using this code:

if has('python3') && has('timers')
    Plugin 'AlphaMycelium/pathfinder.vim'
endif

With neovim 0.5 on nvim-qt.
immagine

README images

Add some images, maybe even animated GIFs, to the README file to illustrate what the plugin does.

Maybe also create diagrams to explain concepts like the search area and server/client.

open_nodes should be sorted

The current selected node should be the one with the lowest G value. (This was erroneously removed.)

This can be done either by sorting the list, or looping to find the lowest value, depending on which has better performance.

Caching the return value of CalcG where possible would also be a good idea so it's not really slow.

Implement f and t

Add support for the f,t,F,T motions.

To improve performance, look ahead at the rest of the line to find which unique characters occur rather than looping through and testing every possible letter.

Display start and end cursor positions

Sometimes, if pathfinding takes a while, you can forget what motion you did so the suggestion isn't very useful. I originally thought to highlight the positions in the buffer - but that wouldn't work if the user entered insert mode and deleted something while it was running.

Therefore, I suggest displaying a snapshot of the characters around the start and target within the suggestion window. Maybe a 5x5 area around the cursor. This could be placed above the suggestion, or put the start to the left and the target to the right so the popup doesn't get too tall.

Use colors to make it look different from the suggestion text - perhaps even use the original syntax highlighting if that is possible.

This would be disabled by default since it takes up a lot of screen space.

Limit pathfinding to the visible area of the file

The plugin sometimes comes out with movements such as jumping to the very bottom of the buffer in order to reach something and use # on it. This is a very efficient way in the eyes of the machine, but a human could not do that without first scrolling down to see what was there.

Therefore, I am suggesting limiting the pathfinding algorithm's search area based on the start and target positions. This can be done by ignoring child nodes which fall outside of the allowed area - which is something like "half a window height above and below the cursor".

Perhaps make a configuration variable so users can toggle this on or off.

Select shorter combinations during backtracking

Problem

line

para
graph

parag
raph

Start at line in the example above, and get to the blank line at the bottom. Currently, j2} is chosen. A better solution would be 3}.

This happens because j appears first in the config, and } goes to the same location with the same weight, so is ignored. Since we don't know the path ahead yet, we cannot make a choice between the two.

Possibly not working on Vim 8.0

I have added the plugin with vim-plug as per the instructions, installed it, and went about editing a markdown file moving naively (jjjjjjjjjwwwww) to see the plugin work.

But nothing happened. I have python3 and timers (:echo has('python3') and :echo ('timers') both return 1), and the :PathfinderBegin and :PathfinderRun commands are set but if I run them, nothing happens either.

This is my .vimrc: https://github.com/coaxial/dotfiles/blob/vim-mov/.vimrc#L147-L151

and this is my vim version:

$ vim --version
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Mar 18 2020 18:29:15)
Included patches: 1-1453
Modified by [email protected]
Compiled by [email protected]
Huge version without GUI.  Features included (+) or not (-):
+acl               +farsi             +mouse_sgr         -tag_any_white
+arabic            +file_in_path      -mouse_sysmouse    -tcl
+autocmd           +find_in_path      +mouse_urxvt       +termguicolors
-autoservername    +float             +mouse_xterm       +terminal
-balloon_eval      +folding           +multi_byte        +terminfo
+balloon_eval_term -footer            +multi_lang        +termresponse
-browse            +fork()            -mzscheme          +textobjects
++builtin_terms    +gettext           +netbeans_intg     +timers
+byte_offset       -hangul_input      +num64             +title
+channel           +iconv             +packages          -toolbar
+cindent           +insert_expand     +path_extra        +user_commands
-clientserver      +job               -perl              +vertsplit
-clipboard         +jumplist          +persistent_undo   +virtualedit
+cmdline_compl     +keymap            +postscript        +visual
+cmdline_hist      +lambda            +printer           +visualextra
+cmdline_info      +langmap           +profile           +viminfo
+comments          +libcall           -python            +vreplace
+conceal           +linebreak         +python3           +wildignore
+cryptv            +lispindent        +quickfix          +wildmenu
+cscope            +listcmds          +reltime           +windows
+cursorbind        +localmap          +rightleft         +writebackup
+cursorshape       -lua               -ruby              -X11
+dialog_con        +menu              +scrollbind        -xfontset
+diff              +mksession         +signs             -xim
+digraphs          +modify_fname      +smartindent       -xpm
-dnd               +mouse             +startuptime       -xsmp
-ebcdic            -mouseshape        +statusline        -xterm_clipboard
+emacs_tags        +mouse_dec         -sun_workshop      -xterm_save
+eval              +mouse_gpm         +syntax            
+ex_extra          -mouse_jsbterm     +tag_binary        
+extra_search      +mouse_netterm     +tag_old_static    
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
  fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H   -Wdate-time  -g -O2 -fdebug-prefix-map=/build/vim-dfCUyu/vim-8.0.1453=. -fstack-protector-strong -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1       
Linking: gcc   -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o vim        -lm -ltinfo -lnsl  -lselinux  -lacl -lattr -lgpm -ldl     -L/usr/lib/python3.6/config-3.6m-x86_64-linux-gnu -lpython3.6m -lpthread -ldl -lutil -lm

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.