首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在vim中运行shell命令并将结果字符串返回到VimScript变量?

在Vim中运行shell命令并将结果字符串返回到VimScript变量,可以使用Vim的内置函数system()来实现。system()函数可以执行shell命令,并返回命令的输出结果。

以下是一个示例的VimScript代码,演示如何使用system()函数运行shell命令并将结果保存到VimScript变量中:

代码语言:vim
复制
let result = system('shell 命令')

在上面的代码中,将shell 命令替换为你想要执行的实际shell命令。执行完system()函数后,命令的输出结果将保存在result变量中。

需要注意的是,system()函数返回的结果是一个字符串,如果命令执行成功,字符串将包含命令的输出结果;如果命令执行失败,字符串将为空。

对于更复杂的shell命令,你可以使用VimScript的字符串拼接功能来构建完整的命令字符串。例如,如果你想要执行一个带有参数的shell命令,可以使用如下代码:

代码语言:vim
复制
let command = 'shell 命令' . ' 参数1' . ' 参数2'
let result = system(command)

在上面的代码中,将shell 命令替换为实际的shell命令,参数1参数2替换为实际的命令参数。

需要注意的是,使用system()函数执行shell命令可能会受到Vim的安全策略限制。如果你的Vim配置中启用了secure选项,可能需要在执行命令时提供额外的权限或配置。请参考Vim的文档以了解更多详细信息。

希望以上信息能够帮助到你。如果你对云计算或其他相关话题有更多问题,欢迎继续提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

从零开始匹配vim(0)——vimscript 简介

我们这个教程也从打印 hello world 开始吧 vimscript 可以使用 echo 和 echom 来打印语句,例如我们可以在命令模式输入 echo "hello world"。...这条命令可以查看 message-history 的内容,我们可以简单的将这条命令理解为查看 vim运行日志(虽然并不是在查看日志)。...echo、echom 都会打印字符串,不同的是 echom 将打印的内容往一个叫做 message-history 的地方写。...lua 的 print 具备 echom的功能 可以使用 message 命令查看 message-history 的内容 从 vimscript 的使用上看,它里面写的是vim的一些命令,我们将命令写在文件让...vim命令vimscript 的关系有点像 shell 命令shell 脚本的关系

70820

从零开始配置 vim(3)—— 键盘映射进阶

移动到下一行,也就是刚刚的插入行 看起来这个命令的作用是清除本行,但是vim并没有这么做,只有按下 才能停下来,而且vim多出了许多空白行。...然后我们可以使用 :noremap d dd 来定义映射 如何在 lua 定义 leader 键呢?...从上面的 vimscript 代码可以看到 mapleader 是用 let 关键字来设置的,一般 let 是用来设置变量的。...lua 自定义变量可以直接定义,但是 mapleader 明显是vim 自带的变量。跟设置选项类似,neovim 提供了两种访问 vim 内部变量的方式,一种是使用函数,一种是使用 元访问器。...跟变量有关的函数主要有: vim.api.nvim_set_var():设置全局变量的值 vim.api.nvim_get_var():获取全局变量 vim.api.nvim_del_var():删除全局变量

1.3K30

Linux从入门到精通(十二)——shell编程

readonly ABC=aaa 清除变量: unset 变量名 unset SUN 三种特殊符号: ``反引号:执行反引号命令,将结果赋给变量。...​ 位置参数是一种在调用Shell程序的命令按照各自的位置决定的变量,是在程序名之后输入的参数。...${var:=word}:如果变量var为空或已被删除,则word,并将变量var的值设置为word。 ${var:?...message}:如果变量var为空或已被删除,则将消息message发送到标准输出错误,可以用来检测变量var是否可以被正常赋值。这种替换出现在shell脚本,脚本将停止运行。...基本语法 ​ 在shell中使用read命令从标准输入读入数据, 并将该数据赋值给变量;使用echo命令实现换行标 准输出操作。 ​

4.7K30

vim 从嫌弃到依赖(19)——替换

script}:执行 vim script并将返回内容作为 string 有这么多标志位,该怎么记,平时怎么用到呢?...试验过后发现 vim 并不会这样做,它会使用空字符串进行替换(单纯的使用上次的替换字符串使用的是 ~ 这个符号)。...这个时候我们可以手动编辑寄存器的内容,对特殊符号进行转义。这个时候我们会想有没有什么办法能让vim知道我只想将寄存器的特殊符号作为普通字符串呢?...接着我们介绍一个新的 vimscript 命令——submatch,它接收一个表示第几个匹配的参数,返回对应的匹配项。...请各位想想之前我们是如何在多个文件执行宏的。这部分就不做介绍,算是留的一个练习吧。至于多个文件进行查找,我们将在后面的部分继续介绍。

3K10

VIM常用快捷键(转载)

fx 在当前行找x字符,找到了就跳转至 ; 重复上一个f命令,而不用重复的输入fx * 查找光标所在处的单词,向下查找 # 查找光标所在处的单词,向上查找 删除复制 dd 删除光标所在行 dw 删除一个字...gT 到上一个tab 0gt 跳到第一个tab 5gt 跳到第五个tab 执行shell命令命令模式下输入":sh",可以运行相当于在字符模式下,到输入结束想回到VIM编辑器中用exit,ctrl...command",运行结束后自动回到VIM编辑器 用“Ctrl+Z“回到shell,用fg返回编辑 :!...make -> 直接在当前目录下运行make指令 VIM启动项 -o[n] 以水平分屏的方式打开多个文件 -O[n] 以垂直分屏的方式打开多个文件 自动排版 在粘贴了一些代码之后,vim变得比较乱,只要执行...gg=G就能搞定 如何在vim编译程序 在vim可以完成make,而且可以将编译的结果也显示在vim里,先执行 :copen 命令,将结果输出的窗口打开,然后执行 :make 编译后的结果就显示在了

1.7K20

Vim常用快捷键

fx 在当前行找x字符,找到了就跳转至 ; 重复上一个f命令,而不用重复的输入fx * 查找光标所在处的单词,向下查找 # 查找光标所在处的单词,向上查找 二、删除复制 dd 删除光标所在行 dw...gT 到上一个tab 0gt 跳到第一个tab 5gt 跳到第五个tab 九、执行shell命令命令模式下输入":sh",可以运行相当于在字符模式下,到输入结束想回到VIM编辑器中用exit,ctrl...command",运行结束后自动回到VIM编辑器 用“Ctrl+Z“回到shell,用fg返回编辑 :!...make -> 直接在当前目录下运行make指令 十、VIM启动项 -o[n] 以水平分屏的方式打开多个文件 -O[n] 以垂直分屏的方式打开多个文件 十一、自动排版 在粘贴了一些代码之后,vim变得比较乱...,只要执行gg=G就能搞定 十二、如何在vim编译程序 在vim可以完成make,而且可以将编译的结果也显示在vim里,先执行 :copen 命令,将结果输出的窗口打开,然后执行 :make 编译后的结果就显示在了

1.8K00

超全的Vim常用快捷键,建议收藏备用!

fx 在当前行找x字符,找到了就跳转至 ; 重复上一个f命令,而不用重复的输入fx * 查找光标所在处的单词,向下查找 # 查找光标所在处的单词,向上查找 二、删除复制 dd 删除光标所在行 dw...gT 到上一个tab 0gt 跳到第一个tab 5gt 跳到第五个tab 九、执行shell命令命令模式下输入":sh",可以运行相当于在字符模式下,到输入结束想回到VIM编辑器中用exit,ctrl...command",运行结束后自动回到VIM编辑器 用“Ctrl+Z“回到shell,用fg返回编辑 :!...make -> 直接在当前目录下运行make指令 十、VIM启动项 -o[n] 以水平分屏的方式打开多个文件 -O[n] 以垂直分屏的方式打开多个文件 十一、自动排版 在粘贴了一些代码之后,vim变得比较乱...,只要执行gg=G就能搞定 十二、如何在vim编译程序 在vim可以完成make,而且可以将编译的结果也显示在vim里,先执行 :copen 命令,将结果输出的窗口打开,然后执行 :make 编译后的结果就显示在了

19.2K21

NeoVim 代码格式化教程

2. neoformat安装 采用 Vim-Plug 进行插件管理,在~/.config/nvim/init.vim 添加下面的插件: Plug 'sbdchd/neoformat' 然后用:PlugInstall...全局变量的值的含义如下: exe 表示格式化运行需要执行的程序名,就跟我们在命令行访问某个程序一样的机制,需要知道它叫什么才能来执行。 args 表示程序执行时需要的参数。...3.3 执行格式化 加了上面的 VimScript 配置后,我们在编辑文件时,就可以使用 :Neoformat 命令来格式化代码了。...清空这个自动化组的所有自动化命令,避免影响后面的命令设置。...总结 总结下来,涉及到的需要增加在~/.config/nvim/init.vim的代码如下: call plug#begin("~/.nvim/bundle") ... " 增加neoformat Plug

59020

Shell编程从看懂到看开①(Shell概述、变量、运算符、条件判断)

用于对脚本进行解释和说明,在注释行的前要加上“#”② 命令。在Shell脚本可以出现任何在交互方式下使用的命令。③ Shell变量Shell支持具有字符串值的变量。④ 流程控制。...打开一个子 shell 来执行脚本内容,当脚本内容结束,则子 shell 关闭,回到shell ,子进程变量和动作结束后不会回传给父进程。...,可供其他 Shell 程序使用export 变量名[root@hadoop101 shells]$ vim helloworld.sh在 helloworld.sh 文件增加 echo $B#!...,\${10})例如:[root@hadoop101 shells]$ touch parameter.sh[root@hadoop101 shells]$ vim parameter.sh#!...反引号的功能是命令替换,在反引号() 的内容通常是命令行,程序会优先执行反引号的内容,并使用运行结果替换掉反引号处的内容。

76820

从零开始配置 vim(11)——插件管理

autocmd BufWritePost init.lua source % augroup END 在使用vimscript的场合它可以正常工作。但是如何在 neovim配置它呢?...nvim_create_autocmd,第一个参数是一个或者多个事件字符串组成的 table,它的含义与 autocmd 的事件相同,用的字符串也相同。第二个参数是一个表示属性的 table。...vim命令字符串,相当于 autocmd的 command部分 我们要将上述代码改为 lua 版本,首先使用创建一个自动命令组 local nvimrc = vim.api.nvim_create_augroup...在lua执行vim命令 在 0.7以前的版本无法通过上述api来创建自动命令。但是它提供了执行vim命令的接口。 我们可以使用 vim.cmd 来执行 vim 命令。...它接收一个字符串参数,该字符串表示将要执行的 vim 命令。可以使用引号括起来,但是需要对其中的特殊字符进行转义。也可以使用 [[]] 来括起来,此时就不需要进行转义了。

1K30

Vim 后门 | Linux 后门系列

vim 内置的变量而不是 Linux 的环境变量,当然 vim 也是可以使用 Linux 环境变量的 通过在vim的底线命令模式 echo $变量名 来获取 vim 的配置文件地址...5) grep 指令命令注入 在 Vim 编辑器,grep 是一个内置的搜索命令,用于在打开的文件查找指定的字符串模式 经过我的测试发现, grep 指令存在命令注入的情况 grep -rn `echo...它允许你在 Vim 打开一个与操作系统终端交互的子窗口,执行命令并查看输出结果。...打开 1.txt 命令执行结果会显示在上半部分,这样直接会被用户发现,可以使用 ++hidden 参数,以反弹 shell 为例 打开 1.txt 成功接收到反弹shell ,但是在退出 1....vim 报错了,命令必须是大写字母开头 成功收到 shellvim 退出后,shell 依旧正常运行 5.

60051

Shell编程

Linux 的 Shell 解释器 种类众多,一个系统可以存在多个 shell,可以通过 cat /etc/shells 命令查看系统安装的 shell解释器。...shell变量 1 简介 在shell脚本, 定义变量时,变量名不加美元符号($),: your_name=“runoob.com” 注意 : 变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样...4 只读变量 使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。 下面的例子尝试更改只读变量结果报错: #!...,单引号字符串变量是无效的; 单引号字串不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用。...后台运行的最后一个进程的ID号 $@ 与$*相同,但是使用时加引号,并在引号返回每个参数。 $- 显示Shell使用的当前选项,与set命令功能相同。 $? 显示最后命令的退出状态。

5K11

写给前端同学的终端修炼手册

配置Bash或者Zsh 当我们在终端输入命令并按下Enter时,那个命令会由Shell语言解释。它本质上是运行在终端应用程序的解释器。 最流行的Shell语言是Bash[2]。...即使在许多现代shell语言Zsh不再使用$作为提示符字符,这种符号的意义仍然保留了下来。 $ 你还需要知道的知识点 在 Bash Shell ,$ 符号有多个作用,具体作用取决于上下文。...:上一个命令的退出状态码。 $$:当前 shell 的进程 ID。 $_:上一个命令的最后一个参数或最后一个命令结果。 $ 符号还用于一些特殊变量,这些变量有特定的含义。...例如: 命令替换: 使用 () 进行命令替换,即执行括号内的命令并将其输出结果替换到当前命令行。...这样就可以退出 Vi/Vim 了。 6. 和前端相关的终端操作 到目前为止,我们已经看到了一些如何在终端完成任务的示例。接下来,我们来看看和前端相关的终端操作。

11110

vsnip 插件

。...它可以是一个字符串或者字符数组。虽然它本身也支持 \r\n来进行换行。但是我更倾向于使用字符数组的形式,每一行是数组的一个字符串。...vsip 有自己的命令来跳转到占位符,因此为了保持使用习惯不变,我们需要定义快捷键 vim.cmd[[imap vsnip#jumpable(1) ?...使用变量 使用语法 name 或者 {name: default} 可以插入一个变量。如果未设置变量,则会插入其默认值或空字符串。当变量未知(未定义其名称)时,会将插入的变量名称转换为占位符。...这里的变量一般是环境变量或者是 vim 自带的一些变量。我们直接拿来用但是在不同的环境下得到的结果是不一样的。 我们可以使用变量来丰富一些信息。

1.6K20

Linux指令入门-文本处理

word 重复前一个搜寻的动作 :n 从第一行到最后一行寻找word1字符串并将字符串取代为word2 :1,$s/word1/word2/g或 :%s/word1/word2/g 使用示例 在本示例将使用...vim在文本文件写入一首唐诗。...新建一个文件并进入vim命令模式。 vim 静夜思.txt ? 按下i进入输入模式,输入《静夜思》的诗名。 ? 按下ECS键回到命令模式,并输入底线命令:ce,使诗名居中。 ?...val 内置变量变量 用途 FS 字段分隔符 $n 指定分隔的第n个字段,$1、$3分别表示第1、第三列 $0 当前读入的整行文本内容 NF 记录当前处理行的字段个数(列数) NR 记录当前已读入的行数...FNR 当前行在源文件的行号 awk还可以指定脚本命令运行时机。

3.5K20

Linux : Vim 使用与配置 (附 GitHub 自动化配置脚本)

vim 相关文件:  .viminfo :  在vim操作的行为,vim会自动记录下来,保存在 ~/.viminfo 文件。...这样为了方便下次处理, vim打开文件时,光标会自动在上次离开的位置显示。 原来搜索过的字符串,新打开文件时自动高亮显示。 ~/.viminfo 文件是系统自动生成。...vim 有一套自己的脚本语言 vimscript,通过这种脚本语言可以实现与 vim 交互,达到功能扩展的目的。一组 vimscript 就是一个 vim 插件,vim 的很多功能都由各式插件实现。...强制保存; :q 退出vim; :q! 退出不保存文件; :wq退出并保存文件, : 表示进入命令行模式, esc 退出命令行模式。 命令行: :! command 执行命令 “:!...sudo tee % : 运行外部shell命令,用 tee 把当前stdin缓冲区的数据写到当前文件(%) 帮助信息: :h 查看帮助信息, :h 插件 查看对应插件的帮助信息。

4.4K20

shell命令和makefile简单使用方法

shell简单理解为:多个命令行任务放在一个文件中一起执行(xxx.sh)运行方式为:source xxx.sh读写方式为:vim xxx.sh(目前也支持notepad软件)基本执行语句:1.操作文件常用命令...rm a.c //删除文件mkdir a //创建文件夹touch a.c //创建文件vim a.c //打开文件2.变量赋值常用命令// 在shell和makefile...]abc" // 结果为123abc// $string 代表引用变量,没有加则认为字符串3.判断语句常用命令if [表达式];thenxxxelsexxxfi//表达式: [ -f a.c...makemakefile在执行时,会先打印命令运行命令(不需要时,在命令前加@echo pwd---静默执行)赋值var="xxx"//用=号时,在使用该变量时是最后一次赋值的结果):=// 与等号相同...=//变量没有赋值,则执行该条赋值语句+=//在变量后面再蓄接(在shell和makefile变量大多是字符串)设置环境变量设置环境变量(用于工程别的makefile文件使用)export A//一般大写表示

57120

Linux系统入门系列之三:初识Bash

命令,示例如下: 一般一个变量只能在一个子程序运行,export命令可以将变量变为环境变量,从而可以在其它子程序运行,示例如下: 使用set命令可以查看当前环境所有变量(包含环境变量和自定义变量...(单个字符)来指代: 可以通过“/”将旧字符串替换为新的字符串: 假如标记字符存在于多处,“#”为删除最短字符,“##”为删除最长字符,同样适用于“%”和“/”,示例如下: 通过shell脚本,也可以引用其他软件和脚本的运行结果来进行变量赋值与运算...在Bash,任何命令(包括管道命令)加上反单引号``之后都可以直接作为变量引用,其值为命令运行结果,可以为变量赋值,例如我们列出目录下所有txt文档并将其储存在变量txt里面: 这一点对于以后的Shell...2.文本编辑 ⑴基本编辑 Linux平台的大多数文件均是ASCII的纯文本文件,在LinuxVi/Vim是强大的文本处理工具,Vim可以看成Vi的升级版。...Vim有三种模式:一般模式、编辑模式、命令行模式。

2.8K30

linux基础(day24)

可以选择执行的任务 [root@localhost ~]# fg 1 bg [id] 命令,把任务调到后台并执行 [root@localhost ~]# bg 1 [1]+ vim 1.txt & 运行一条命令...变量的累加 全局变量export b=2 格式 export 变量名=变量值 全局变量仅仅在子shell里面生效 运行bash 命令,直接进去 子shell unset变量 //取消变量...查看环境变量命令 env命令,查看系统常用的环境变量 系统的变量都是大写的英文字母,变量的值可以数字,字符串,英文字母等 set命令,查看系统内置的环境变量和用户自定义的变量 在centos6...[root@hf-01 ~]# echo $hanfeng [root@hf-01 ~]# 这是因为这个变量仅仅在上一个shell 在终端1下,退出当前shell,执行命令 exit ,并在此执行...文件,用来定义用户退出的时候需要做的一些操作 PS1是在/etc/bashrc定义的 在登录一个系统之后,他会在命令左边,有一串字符串 [root@hf-01 ~] 最左侧是root

52810
领券