liuchengxu / space-vim

:four_leaf_clover: Lean & mean spacemacs-ish Vim distribution
https://liuchengxu.github.io/space-vim/
MIT License
2.85k stars 255 forks source link

How to enable cursor history jumplist content preview #477

Closed inengch closed 3 years ago

inengch commented 3 years ago

Before you continue, ensure you have read the README and wiki carefully. Note that low quality issue feedback might be closed directly.

Environment

Please complete these steps and check these boxes (by putting an x inside the brackets) before filing your issue:

Put the contents of :version below:

VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Mar  1 2021 21:47:42)
Included patches: 1-2560
Compiled by conda@89053c29e180
Huge version without GUI.  Features included (+) or not (-):
+acl               +cmdline_hist      +ex_extra          +jumplist          +mouse_dec         -perl              -sound             +textprop          +writebackup
+arabic            +cmdline_info      +extra_search      +keymap            -mouse_gpm         +persistent_undo   +spell             +timers            -X11
+autocmd           +comments          -farsi             +lambda            -mouse_jsbterm     +popupwin          +startuptime       +title             -xfontset
+autochdir         +conceal           +file_in_path      +langmap           +mouse_netterm     +postscript        +statusline        -toolbar           -xim
-autoservername    +cryptv            +find_in_path      +libcall           +mouse_sgr         +printer           -sun_workshop      +user_commands     -xpm
-balloon_eval      +cscope            +float             +linebreak         -mouse_sysmouse    +profile           +syntax            +vartabs           -xsmp
+balloon_eval_term +cursorbind        +folding           +lispindent        +mouse_urxvt       -python            +tag_binary        +vertsplit         -xterm_clipboard
-browse            +cursorshape       -footer            +listcmds          +mouse_xterm       +python3           -tag_old_static    +virtualedit       -xterm_save
++builtin_terms    +dialog_con        +fork()            +localmap          +multi_byte        +quickfix          -tag_any_white     +visual
+byte_offset       +diff              +gettext           -lua               +multi_lang        +reltime           -tcl               +visualextra
+channel           +digraphs          -hangul_input      +menu              -mzscheme          +rightleft         +termguicolors     +viminfo
+cindent           -dnd               +iconv             +mksession         +netbeans_intg     -ruby              +terminal          +vreplace
-clientserver      -ebcdic            +insert_expand     +modify_fname      +num64             +scrollbind        +terminfo          +wildignore
-clipboard         +emacs_tags        +ipv6              +mouse             +packages          +signs             +termresponse      +wildmenu
+cmdline_compl     +eval              +job               -mouseshape        +path_extra        +smartindent       +textobjects       +windows
   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: "/home/work/miniconda3/share/vim"
Compilation: /home/conda/feedstock_root/build_artifacts/vim_1614635000636/_build_env/bin/x86_64-conda-linux-gnu-cc -c -I. -Iproto -DHAVE_CONFIG_H -DNDEBUG -O2 -isystem /home/zhan
gyineng/miniconda3/include -I/home/work/miniconda3/include -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -p
ipe -isystem /home/work/miniconda3/include -fdebug-prefix-map=/home/conda/feedstock_root/build_artifacts/vim_1614635000636/work=/usr/local/src/conda/vim-8.2.2560 -fdebug-p
refix-map=/home/work/miniconda3=/usr/local/src/conda-prefix -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: /home/conda/feedstock_root/build_artifacts/vim_1614635000636/_build_env/bin/x86_64-conda-linux-gnu-cc -Wl,-O2 -Wl,--sort-common -Wl,-z,relro -Wl,-z,now -Wl,--disable-new
-dtags -Wl,--gc-sections -Wl,-rpath,/home/work/miniconda3/lib -Wl,-rpath-link,/home/work/miniconda3/lib -L/home/work/miniconda3/lib -Wl,--as-needed -o vim -l
m -ltinfo -ldl -L/home/work/miniconda3/lib/python3.8/config-3.8-x86_64-linux-gnu -lpython3.8 -lcrypt -lpthread -ldl -lutil -lrt -lm -lm

Put the contents of :SpaceInfo below:

Current FileType:
    Global Variables:
    let g:spacevim = {
        base = '/home/work/.space-vim',
        excluded = [],
        gui = 0,
        info = '/home/work/.space-vim/core/autoload/spacevim/info.vim',
        layers_base = '/layers',
        loaded = ['spacevim', 'fzf', 'better-defaults'],
        manifest = {'spacevim': {'dir': '/home/work/.space-vim/layers/+distributions/spacevim'}, 'wasm': {'dir': '/home/work/.space-vim/layers/+lang/wasm'}, 'ctrlp'
: {'dir': '/home/work/.space-vim/layers/+vim/ctrlp'}, 'go': {'dir': '/home/work/.space-vim/layers/+lang/go'}, 'asyncomplete': {'dir': '/home/work/.space-vim/
layers/+completion/asyncomplete'}, 'code-snippets': {'dir': '/home/work/.space-vim/layers/+programming/code-snippets'}, 'graphviz': {'dir': '/home/work/.space-vim/l
ayers/+lang/graphviz'}, 'solidity': {'dir': '/home/work/.space-vim/layers/+lang/solidity'}, 'scala': {'dir': '/home/work/.space-vim/layers/+lang/scala'}, 'github':
{'dir': '/home/work/.space-vim/layers/+version-control/github'}, 'clojure': {'dir': '/home/work/.space-vim/layers/+lang/clojure'}, 'games': {'dir': '/home/zhangyine
ng/.space-vim/layers/+fun/games'}, 'tmux': {'dir': '/home/work/.space-vim/layers/+tools/tmux'}, 'javascript': {'dir': '/home/work/.space-vim/layers/+lang/javascript
'}, 'git': {'dir': '/home/work/.space-vim/layers/+version-control/git'}, 'auto-completion': {'dir': '/home/work/.space-vim/layers/+completion/auto-completion'}, 'ru
by': {'dir': '/home/work/.space-vim/layers/+lang/ruby'}, 'emoji': {'dir': '/home/work/.space-vim/layers/+fun/emoji'}, 'file-manager': {'dir': '/home/work/.sp
ace-vim/layers/+tools/file-manager'}, 'typescript': {'dir': '/home/work/.space-vim/layers/+lang/typescript'}, 'lsp': {'dir': '/home/work/.space-vim/layers/+tools/ls
p'}, 'docker': {'dir': '/home/work/.space-vim/layers/+tools/docker'}, 'deoplete': {'dir': '/home/work/.space-vim/layers/+completion/deoplete'}, 'programming': {'dir
': '/home/work/.space-vim/layers/+programming/programming'}, 'chinese': {'dir': '/home/work/.space-vim/layers/+misc/chinese'}, 'which-key': {'dir': '/home/zhangyine
ng/.space-vim/layers/+vim/which-key'}, 'syntax-checking': {'dir': '/home/work/.space-vim/layers/+checkers/syntax-checking'}, 'ycmd': {'dir': '/home/work/.space-vim/
layers/+tools/ycmd'}, 'formatting': {'dir': '/home/work/.space-vim/layers/+programming/formatting'}, 'html': {'dir': '/home/work/.space-vim/layers/+lang/html'}, 'be
tter-defaults': {'dir': '/home/work/.space-vim/layers/+distributions/better-defaults'}, 'text-align': {'dir': '/home/work/.space-vim/layers/+vim/text-align'}, 'ligh
tline': {'dir': '/home/work/.space-vim/layers/+themes/lightline'}, 'vue': {'dir': '/home/work/.space-vim/layers/+lang/vue'}, 'goyo': {'dir': '/home/work/.spa
ce-vim/layers/+fun/goyo'}, 'better-motion': {'dir': '/home/work/.space-vim/layers/+vim/better-motion'}, 'python': {'dir': '/home/work/.space-vim/layers/+lang/python
'}, 'cscope': {'dir': '/home/work/.space-vim/layers/+tools/cscope'}, 'airline': {'dir': '/home/work/.space-vim/layers/+themes/airline'}, 'ctags': {'dir': '/home/zha
ngyineng/.space-vim/layers/+tools/ctags'}, 'unite': {'dir': '/home/work/.space-vim/layers/+completion/unite'}, 'editing': {'dir': '/home/work/.space-vim/layers/+pro
gramming/editing'}, 'latex': {'dir': '/home/work/.space-vim/layers/+lang/latex'}, 'markdown': {'dir': '/home/work/.space-vim/layers/+lang/markdown'}, 'c-c++': {'dir
': '/home/work/.space-vim/layers/+lang/c-c++'}, 'erlang': {'dir': '/home/work/.space-vim/layers/+lang/erlang'}, 'elm': {'dir': '/home/work/.space-vim/layers/
+lang/elm'}, 'rust': {'dir': '/home/work/.space-vim/layers/+lang/rust'}, 'haskell': {'dir': '/home/work/.space-vim/layers/+lang/haskell'}, 'elixir': {'dir': '/home/
work/.space-vim/layers/+lang/elixir'}, 'java': {'dir': '/home/work/.space-vim/layers/+lang/java'}, 'fzf': {'dir': '/home/work/.space-vim/layers/+tools/fzf'}}
,
        nvim = 0,
        os = {'linux': 1, 'windows': 0, 'mac': 0},
        plugins = ['liuchengxu/space-vim-dark', 'liuchengxu/space-vim-theme', 'liuchengxu/vim-better-default', 'liuchengxu/eleline.vim', 'junegunn/fzf', 'junegunn/fzf.vim', 'kshe
noy/vim-signature', 'tpope/vim-rsi', 'markonm/traces.vim', 'dominikduda/vim_current_word', 't9md/vim-choosewin', 'mhinz/vim-startify', 'ntpeters/vim-better-whitespace', 'haya14bu
sa/is.vim', 'osyo-manga/vim-anzu'],
        private_base = '/private',
        speed_up_via_timer = 1,
        timer = 1,
        tmux = 1,
        topics = {'+themes': ['lightline', 'airline'], '+version-control': ['git', 'github'], '+tools': ['tmux', 'ycmd', 'file-manager', 'docker', 'ctags', 'cscope', 'fzf', 'lsp'
], '+misc': ['chinese'], '+completion': ['deoplete', 'unite', 'asyncomplete', 'auto-completion'], '+distributions': ['spacevim', 'better-defaults'], '+checkers': ['syntax-checkin
g'], '+fun': ['goyo', 'games', 'emoji'], '+lang': ['java', 'elixir', 'rust', 'ruby', 'scala', 'typescript', 'clojure', 'graphviz', 'haskell', 'html', 'markdown', 'solidity', 'lat
ex', 'c-c++', 'python', 'javascript', 'wasm', 'go', 'erlang', 'vue', 'elm'], '+programming': ['formatting', 'editing', 'code-snippets', 'programming'], '+vim': ['text-align', 'ct
rlp', 'better-motion', 'which-key']},
        version = '0.9.0',
        vim8 = 1,
    }

Problem Description

I add some functions in .spacevim as below:

function! GetJumps()
  redir => cout
  silent jumps
  redir END
  return reverse(split(cout, "\n")[1:])
endfunction
function! GoToJump(jump)
    let jumpnumber = split(a:jump, '\s\+')[0]
    execute "normal " . jumpnumber . "\<c-o>"
endfunction
command! Jumps call fzf#run(fzf#wrap({
        \ 'source': GetJumps(),
        \ 'sink': function('GoToJump')}))

And I want to use the jumps command to see the jumplists in the fzf preview. But I only see this. image So I want to know how to preview the jumplist content preview. Thanks in advance.

liuchengxu commented 3 years ago

Use vim-clap :Clap jumps, see #442.