当前位置: 首页 > 知识库问答 >
问题:

Vim:Vimscript 调用 netrw 命令

裴嘉许
2023-03-14

这是这个问题的后续问题(但却是一个不同的问题),我将在这里再次重申。

我有一个Vim映射来开始搜索(带有ack.vim插件的ack-grep)当前目录中的模式(结果如下:pwd)。当我查看缓冲区时,这种映射是有效的。

我想在netrw中使用相同的映射。但是,我想将当前目录(:pwd)更改为netrw显示给我的目录,因此搜索将从我正在查看的目录开始。我知道我可以用netrw c命令做到这一点。如何在函数中给出< code>c命令?

我尝试过:

function! StartAckSearch()
    " If we're in netrw change the current directory to the directory we're
    " viewing
    if &ft ==# 'netrw'
        echo 'in netrw'
        c                                                                                                                                                                                                        
    endif
endfunction
nnoremap <Leader>a :call StartAckSearch()<CR>

和:

我尝试过:

function! StartAckSearch()
    " If we're in netrw change the current directory to the directory we're
    " viewing
    if &ft ==# 'netrw'
        echo 'in netrw'
        execute 'c'                                                                                                                                                                                                        
    endif
endfunction
nnoremap <Leader>a :call StartAckSearch()<CR>

但它们都不起作用。

问题如何使用Vimscript调用netrw命令?(如果我的问题可以改写得更清楚,请继续)

共有1个答案

卫甫
2023-03-14

我认为你可以用规范c来称呼它。

另一种方式是exe 'norm c'

 类似资料:
  • 检查返回值 小技巧 总是检查返回值,并给出信息返回值。 对于非管道命令,使用 $? 或直接通过一个 if 语句来检查以保持其简洁。 例如: if ! mv "${file_list}" "${dest_dir}/" ; then echo "Unable to move ${file_list} to ${dest_dir}" >&2 exit "${E_BAD_MOVE}" fi #

  • 我尝试了但这不适用于SpaceVim,它在我的远程机器上不是空的时候打开了一个空文件。

  • 常用调试命令 qemu中monitor的常用命令: help 查看 qemu 帮助,显示所有支持的命令。 q|quit|exit 退出 qemu。 stop 停止 qemu。 c|cont|continue 连续执行。 x /fmt addr xp /fmt addr 显示内存内容,其中 'x' 为虚地址,'xp' 为实地址。 参数 /fmt i 表示反汇编,缺省参数为前一次参数。 p|print

  • 这一章将会介绍使用python自动执行系统命令,我们将使用python展示两个执行命令的方式(os,subprocess). 当你开始创建一个脚本的时候,你会发现os.system和subprocess.Popen都是执行系统命令,它们不是一样的吗?其实它们两个根本不一样,subprocess允许你执行命令直接通过stdout赋值给一个变量,这样你就可以在结果输出之前做一些操作,譬如:输出内容的格

  • 我正在尝试通过远程Java web应用程序在WLST上运行restart server命令。 这就是我试图执行的: 我在用“;”要分离命令,因为我认为需要运行多个命令。 不幸的是,它在第2行给出了一个语法错误。 bash:-c:line 0:意外标记附近的语法错误/u01/app/oracle/jdk1。8.0_65/bin//java-cp/u01/app/oracle/product/orac

  • 本文向大家介绍Electron 调用命令行(cmd),包括了Electron 调用命令行(cmd)的使用技巧和注意事项,需要的朋友参考一下 因为最近的项目需求,需要在 Electron 客户端启动的时候启动 nginx 服务,所以研究了一下怎么在 Electron 调用 命令行。 因为 Electron 基于 Chromium 和 Node.js,可以直接使用 Node.js 的 API 和一些包