Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 如何在vim中将文件插入另一个文件之前插入文件名_Unix_Vim_Vim Plugin - Fatal编程技术网

Unix 如何在vim中将文件插入另一个文件之前插入文件名

Unix 如何在vim中将文件插入另一个文件之前插入文件名,unix,vim,vim-plugin,Unix,Vim,Vim Plugin,在将文件内容插入另一个文件之前,是否有一种方法可以插入文件名 我知道如何将一个文件插入另一个--:r 但是如何插入我们之前插入的文件名呢 谢谢如果您在注册表(如系统剪贴板)中有文件名,您可以使用+插入该文件名。这也适用于Vim变量:=g:filename 但通常,您只需键入:r文件名;然后,避免再次键入的唯一快捷方式是文件名完成(:help i\u CTRL-X\u CTRL-F):在插入模式下,键入文件名的开头,然后尝试完成:filen 如果按相反顺序执行,则可以避免键入:由于:read命令设

在将文件内容插入另一个文件之前,是否有一种方法可以插入文件名

我知道如何将一个文件插入另一个--:r

但是如何插入我们之前插入的文件名呢


谢谢

如果您在注册表(如系统剪贴板)中有文件名,您可以使用
+
插入该文件名。这也适用于Vim变量:
=g:filename

但通常,您只需键入
:r文件名
;然后,避免再次键入的唯一快捷方式是文件名完成(
:help i\u CTRL-X\u CTRL-F
):在插入模式下,键入文件名的开头,然后尝试完成:
filen

如果按相反顺序执行,则可以避免键入:由于
:read
命令设置了备用文件,因此可以通过特殊寄存器
#
插入该文件:

:读取文件名
"(爱刚补充)#

如果您在寄存器(如系统剪贴板)中有文件名,则可以使用
+
插入该文件名。这也适用于Vim变量:
=g:filename

但通常,您只需键入
:r文件名
;然后,避免再次键入的唯一快捷方式是文件名完成(
:help i\u CTRL-X\u CTRL-F
):在插入模式下,键入文件名的开头,然后尝试完成:
filen

如果按相反顺序执行,则可以避免键入:由于
:read
命令设置了备用文件,因此可以通过特殊寄存器
#
插入该文件:

:读取文件名
"(爱刚补充)#

您可以编写一个小函数,在读取内容之前插入文件名:

fun! ReadwithFn(fname)
    let fn = expand(a:fname)
    if !filereadable(fn)
        echohl Error 
        echom fn." cannot be read!"
        echohl NONE
    else
        execute "put ='".fn."'"
        execute 'read '.fn
    endif   
endf
添加并定义您自己的命令:

command! -nargs=1 R call ReadwithFn(<q-args>)
函数将首先插入文件路径,然后插入内容。如果文件不可读(例如不存在),则会出现错误消息


这只是一个基本脚本,您可以稍作调整。

您可以编写一个小函数,在读取内容之前插入文件名:

fun! ReadwithFn(fname)
    let fn = expand(a:fname)
    if !filereadable(fn)
        echohl Error 
        echom fn." cannot be read!"
        echohl NONE
    else
        execute "put ='".fn."'"
        execute 'read '.fn
    endif   
endf
添加并定义您自己的命令:

command! -nargs=1 R call ReadwithFn(<q-args>)
函数将首先插入文件路径,然后插入内容。如果文件不可读(例如不存在),则会出现错误消息

这只是一个基本的脚本,你可以稍微调整一下