返回顶部
首页 > 资讯 > 精选 >如何从Vim中访问shell或者运行外部命令
  • 401
分享到

如何从Vim中访问shell或者运行外部命令

2023-06-12 20:06:20 401人浏览 薄情痞子
摘要

这篇文章给大家分享的是有关如何从Vim中访问shell或者运行外部命令的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在 Vim 中执行外部命令有的时候,你可能需要在 Vim 编辑窗口中执行外部的命令。例如,想象一

这篇文章给大家分享的是有关如何从Vim中访问shell或者运行外部命令的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

在 Vim 中执行外部命令

有的时候,你可能需要在 Vim 编辑窗口中执行外部的命令。例如,想象一下这种场景:你已经在 Vim 中打开了一个文件,并做了一些修改,然后等你尝试保存这些修改的时候,Vim 抛出一个错误说你没有足够的权限。

如何从Vim中访问shell或者运行外部命令

现在,退出当前的 vim 会话,重新使用足够的权限打开文件将意味着你会丢失所做的所有修改,所以,你可能赞同,在大多数情况不是只有一个选择。像这样的情况,在编辑器内部运行外部命令的能力将会派上用场。

稍后我们再回来上面的用例,但是现在,让我们了解下如何在 vim 中运行基本的命令。

假设你在编辑一个文件,希望知道这个文件包含的行数、单词数和字符数。为了达到这个目的,在 vim 的命令行模式下,只需要输入冒号 :,接下来一个感叹号 !,最后是要执行的命令(这个例子中使用的是 wc)和紧接着的文件名(使用 % 表示当前文件)。

:! wc %

这是一个例子:

填入的上面提及的命令行准备执行:

如何从Vim中访问shell或者运行外部命令

下面是终端上的输出:

如何从Vim中访问shell或者运行外部命令

在你看到输出之后,输入回车键,你将会退回到你的 vim 会话中。

你正在编写代码或者脚本,并且希望尽快知道这段代码或者脚本是否包含编译时错误或者语法错误,这个时候,这种特性真的很方便。

继续,如果需求是添加输出到文件中,使用 :read ! 命令。接下来是一个例子:

:read ! wc %

read 命令会把外部命令的输出作为新的一行插入到编辑的文件中的当前行的下面一行。如果你愿意,你也可以指定一个特定的行号输出将会添加到特定行之后。

例如,下面的命令将会在文件的第二行之后添加 wc 的输出。

:2read ! wc %

注意: 使用 $ 在最后一行插入, 0 在第一行前面插入。

现在,回到最开始我们讨论的一个用例,下面的命令将会帮助你保存文件而不需要先关闭文件(这将意味着没有保存的内容不会丢失)然后使用 sudo 命令重新打开。

:w ! sudo tee %

如何从Vim中访问shell或者运行外部命令

在 Vim 中访问 shell

除了可以执行单独的命令,你也可以在 vim 中放入自己新创建的 shell。为了达到这种目的,在编辑器中你必须要做的是运行以下的命令:

:shell

或者:

:sh

当你执行完了你的 shell 任务,输入 exit这将带你回到原来离开的 Vim 会话中。

要谨记的漏洞

虽然在真实世界中,能够访问的 shell 绝对符合它们的用户权限,但是它也可以被用于提权技术。正如我们在早期的一篇文章(在 sudoedit 上)解释的那样,即使你提供给一个用户 sudo 的权限只是通过 Vim 编辑一个文件,他们仍可以使用这项技术从编辑器中运行一个新的 shell,而且他们可以做 root 用户或者管理员用户可以做的所有内容。

感谢各位的阅读!关于“如何从Vim中访问shell或者运行外部命令”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: 如何从Vim中访问shell或者运行外部命令

本文链接: https://lsjlt.com/news/262693.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何从Vim中访问shell或者运行外部命令
    这篇文章给大家分享的是有关如何从Vim中访问shell或者运行外部命令的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在 Vim 中执行外部命令有的时候,你可能需要在 Vim 编辑窗口中执行外部的命令。例如,想象一...
    99+
    2023-06-12
  • java运行显示不是内部或外部命令如何解决
    当Java运行显示不是内部或外部命令时,可能是因为系统环境变量没有设置正确。以下是解决该问题的步骤:1. 首先,确保Java已经正确...
    99+
    2023-09-16
    java
  • Docker如何使用exec命令从外部运行容器内的命令
    这篇文章将为大家详细讲解有关Docker如何使用exec命令从外部运行容器内的命令,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。使用exec命令从外部运行容器内的命令do...
    99+
    2024-04-02
  • 如何在 Go 中运行前台或后台 shell 命令
    php小编苹果为您介绍如何在Go中运行前台或后台shell命令。在Go语言中,运行shell命令非常简单。通过使用os/exec包,我们可以轻松地执行各种shell命令,并获取其输出。...
    99+
    2024-02-08
    go语言
  • 如何解决javac不是内部或外部命令,也不是可运行程序的问题
    如果您在使用命令行或终端运行javac时遇到了"javac不是内部或外部命令,也不是可运行程序"的错误,可能是由于以下几个原因导致的...
    99+
    2023-08-25
    java
  • php无法运行外部命令如何解决
    这篇文章主要介绍了php无法运行外部命令如何解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php无法运行外部命令如何解决文章都会有所收获,下面我们一起来看看吧。php无法运行外部命令的解决办法:1、检查是否...
    99+
    2023-07-04
  • 如何解决vue不是内部或外部命令的问题
    小编给大家分享一下如何解决vue不是内部或外部命令的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2024-04-02
  • cmd中pip不是内部或外部命令如何解决
    这篇文章将为大家详细讲解有关cmd中pip不是内部或外部命令如何解决,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。解决方法:首先,点击计算机,选择“属性”。然后,打开高级系统设置。再选择环境...
    99+
    2023-06-15
  • 如何使用curl从命令行访问互联网
    这篇文章主要介绍“如何使用curl从命令行访问互联网”,在日常操作中,相信很多人在如何使用curl从命令行访问互联网问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用curl从命令行访问互联网”的疑惑有所...
    99+
    2023-06-15
  • 如何解决提示node不是内部或外部命令的问题
    这篇文章给大家分享的是有关如何解决提示node不是内部或外部命令的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 解决方法:1、打开“控制面板”,...
    99+
    2024-04-02
  • 解决javac不是内部或外部命令,也不是可运行程序的报错问题
    目录简述下面就讲讲解决方法解决过程可能还有的问题解决之后的效果简述 在学着使用Java的命令行来编译java文件的时候,遇到了这个问题 Windows操作系统报错 “&l...
    99+
    2024-04-02
  • 执行node -v显示node不是内部或外部命令如何解决
    本篇内容主要讲解“执行node -v显示node不是内部或外部命令如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“执行node -v显示node不是内部或...
    99+
    2024-04-02
  • 报错提示“ping不是内部或外部命令也不是可运行程序”如何解决
    今天小编给大家分享一下报错提示“ping不是内部或外部命令也不是可运行程序”如何解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文...
    99+
    2023-02-23
    ping
  • 使用node命令提示:'node'不是内部或外部命令,也不是可运行的程序如何解决
    本文小编为大家详细介绍“使用node命令提示:'node'不是内部或外部命令,也不是可运行的程序如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“使用node命令提示:'node'不是内部或外部命令,也...
    99+
    2023-07-05
  • 在终端输入“python”或者”pip“时出现python’不是内部或外部命令,也不是可运行的程序 或批处理文件
    1.问题:在成功安装python解析器时,想在windows终端输入python打开,发现出现:“python”时出现python’不是内部或外部命令,也不是可运行的程序 或批处理文件。 2. 原因:...
    99+
    2023-09-10
    python pip 开发语言 终端 命令行
  • java不是内部或外部命令,也不是可运行程序的报错问题怎么解决
    本篇内容主要讲解“java不是内部或外部命令,也不是可运行程序的报错问题怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java不是内部或外部命令,也不是可运行程序的报错问题怎么解决”吧!...
    99+
    2023-06-30
  • 如何解决淘宝cnpm安装后cnpm不是内部或外部命令的问题
    小编给大家分享一下如何解决淘宝cnpm安装后cnpm不是内部或外部命令的问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!通过网上查找的教程安装和配置了node环境,接着按照教程安装了cn...
    99+
    2024-04-02
  • Python 中如何通过 shell 命令运行 Django 应用程序?
    Django 是一个基于 Python 的 Web 框架,它提供了强大的工具和功能来帮助开发人员构建高效、灵活、可扩展的 Web 应用程序。在开发 Django 应用程序时,我们通常需要在命令行中执行一些操作,比如运行服务器、创建数据库、...
    99+
    2023-09-27
    关键字 shell django
  • 如何在PHP中运行shell命令以测试HTTP负载?
    在开发Web应用程序时,我们经常需要测试应用程序在负载下的表现。为了测试HTTP负载,我们可以使用PHP中的shell_exec函数来运行shell命令。在本文中,我们将介绍如何在PHP中使用shell命令测试HTTP负载。 安装Apac...
    99+
    2023-09-30
    http load shell
  • 如何在 Python 中运行 Shell 命令以操作 NumPy 数组?
    Python 是一种非常流行的编程语言,被广泛应用于科学计算和数据分析领域。NumPy 是 Python 中的一个重要的科学计算库,它提供了高效的多维数组操作和数学函数。 在 Python 中,我们可以使用 Shell 命令来执行一些操作,...
    99+
    2023-08-27
    numy path shell
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作