vim - 有没有办法在 netrw 列表中将光标放在文件上时自动预览文件?

标签 vim

这并不是在文件名上点击“p”,而是只需将光标放在其上即可获得相同的结果。

最佳答案

您可以将一些 Action 重新映射到根据光标下的当前单词填充预览窗口的功能。

这是处理文本文件和目录的基本示例:

set nocompatible
set autochdir

" Previewed files are present in the current directory
let g:netrw_keepdir = 0

function! PreviewFile(...)
    let l:wordUnderCursor = a:1
    if !empty(glob(l:wordUnderCursor))
        let l:type = system('file -ib ' . shellescape(l:wordUnderCursor))
        if l:type =~# '^text/plain'
            silent! execute 'pedit' l:wordUnderCursor
        elseif l:type =~# '^inode/directory'
            let l:name = tempname()
            set noautochdir
            silent! execute 'pedit! ' . l:name
            wincmd P
            normal! ggdG
            silent! execute 'r !ls ' . l:wordUnderCursor
            normal! ggdd
            wincmd w
        endif
    endif
endfunction

autocmd FileType netrw
            \ nnoremap j j:call PreviewFile(expand("<cWORD>"))<CR> |
            \ nnoremap k k:call PreviewFile(expand("<cWORD>"))<CR>

关于vim - 有没有办法在 netrw 列表中将光标放在文件上时自动预览文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45379462/

相关文章:

vim - 如何使 emmet.vim 插件工作?

vim - 如何使用Vim用字符x填充一行直到y列

java - spf13 - 在具有非 java 扩展名的文件中使用 java 语法

vim - 在 Vim 中从 f 切换到 F 而不需要 ,

regex - 简单的正则表达式 - 双引号之间用下划线替换空格并使所有字母小写

linux - 如何在cscope中通过vim编辑器打开文件?

Vim静态自动换行交互式 'smart'重建

linux - 如果使用 appimage 安装了 neovim,如何使用 nvim 命令?

vim - 将所有行复制到剪贴板

vim - 是否可以在 Vim 中排队命令?