专栏首页煮茶科技Vim第五讲 内部命令、另存、部分保存、插入文件

Vim第五讲 内部命令、另存、部分保存、插入文件

5.1 在 VIM 内执行外部命令的方法

** 输入 :! 然后紧接着输入一个外部命令可以执行该外部命令。**
  1. 按下我们所熟悉的 : 命令使光标移动到屏幕底部。这样您就可以输入一行命令了。
  2. 接着输入感叹号 ! 这个字符,这样就允许您执行外部的 shell 命令了。
  3. 我们以 ls 命令为例。输入 !ls <回车> 。该命令就会列举出您当前目录的 内容,就如同您在命令行提示符下输入 ls 命令的结果一样。如果 !ls 没起

作用,您可以试试 :!dir 看看。

提示:所有的外部命令都可以以这种方式执行,包括带命令行参数的那些。

提示:所有的 : 命令都必须以敲 <回车> 键结束。从今以后我们就不会总是提到这一点 了。

5.2 关于保存文件的更多信息

** 要将对文件的改动保存到文件中,请输入 :w FILENAME 。**
  1. 输入 :!dir 或者 :!ls 获知当前目录的内容。您应当已知道最后还得敲 <回车> 吧。
  2. 选择一个未被用到的文件名,比如 TEST
  3. 接着输入 :w TEST (此处 TEST 是您所选择的文件名。)
  4. 该命令会以 TEST 为文件名保存整个文件 (Vim 教程)。为了验证这一点, 请再次输入 :!dir:!ls 查看您的目录列表内容。

请注意:如果您退出 Vim 然后在以命令 vim TEST 再次启动 Vim,那么该文件内 容应该同您保存时的文件内容是完全一样的。

  1. 现在您可以删除 TEST 文件了。

MS-DOS 下,请输入: :!del TESTUnix 下,请输入: :!rm TEST

5.3 一个具有选择性的保存命令

** 要保存文件的部分内容,请输入 v motion :w FILENAME **
  1. 移动光标到本行。
  2. 接着按 v 键,将光标移动至下面第五个条目上。您会注意到之间的文本被高亮了。
  3. 然后按 : 字符。您将看到屏幕底部会出现 :'<,'>
  4. 现在请输入 w TEST ,其中 TEST 是一个未被使用的文件名。确认您看到了 :'<,'>w TEST 之后按 <回车> 键。
  5. 这时 Vim 会把选中的行写入到以 TEST 命名的文件中去。使用 :!dir:!ls 确认文件被正确保存。这次先别删除它!我们在下一讲中会用到它。

提示:按 v 键使 Vim 进入可视模式进行选取。您可以四处移动光标使选取区域变大或 变小。接着您可以使用一个操作符对选中文本进行操作。例如,按 d 键会删除 选中的文本内容。

5.4 提取和合并文件

   ** 要向当前文件中插入另外的文件的内容,请输入 :r FILENAME **
  1. 通过命令 :r TEST 将前面创建的名为 TEST 的文件提取进来。 您所提取进来的文件将从光标所在位置处开始置入。
  2. 为了确认文件已经提取成功,移动光标回到原来的位置就可以注意有两份第 五讲第三节的内容,一份是原始内容,另外一份是来自文件的副本。

提示:您还可以读取外部命令的输出。例如, :r !ls 可以读取 ls 命令的输出,并 把它放置在光标下面。

总结

  1. :!command 用于执行一个外部命令 command。 请看一些实际例子: (MS-DOS) (Unix) `:!dir` `:!ls` - 用于显示当前目录的内容。 `:!del FILENAME` `:!rm FILENAME` - 用于删除名为 FILENAME 的文件。
  2. :w FILENAME 可将当前 VIM 中正在编辑的文件保存到名为 FILENAME 的文 件中。
  3. v motion :w FILENAME 可将当前编辑文件中可视模式下选中的内容保存到文件 FILENAME 中。
  4. :r FILENAME 可提取磁盘文件 FILENAME 并将其插入到当前文件的光标位置 后面。
  5. :r !dir 可以读取 dir 命令的输出并将其放置到当前文件的光标位置后面。

--------------------- Author: Frytea Title: Vim第五讲 内部命令、另存、部分保存、插入文件 Link: https://blog.frytea.com/archives/395/ Copyright: This work by TL-Song is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Vim第四讲 搜索、查找、替换

    提示:您也许会在屏幕的右下角看到光标位置,这会在 'ruler' 选项设置时发生 (参见 :help 'ruler')

    宋天伦
  • Linux下文件系统技巧 | 统计个数 | 只见文件或目录

    长列表输出该目录下文件信息(注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等)

    宋天伦
  • software engineering Final Review | 软件工程期末复习

    Author: Frytea Title: software engineering Final Review | 软件工程期末复习 Link: ht...

    宋天伦
  • Linux中查找工具的友好替代方案

    find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录...

    砸漏
  • Linux-看完这篇Linux基本的操作就会了

    二十三年蝉
  • 看完这篇Linux基本的操作就会了

    Java3y
  • 【数据挖掘&机器学习篇】

    随着互联网大数据行业的日渐兴盛,越来越多的人投身其中,也有很多的朋友对此有着浓厚的兴趣,想要投身其中。从本期开始我们将分四期带大家走进互联网大数据行业,分别了解...

    数据森麟
  • Redis命令详解:Connection

    最近在学习Redis的相关知识,上一篇我们也介绍了Redis的安装方法和基本数据结构,后面就打算开一个新的系列文章:Redis命令详解。既是对基础的巩固,也是为...

    Jackeyzhe
  • 快速学习-RocketMQ样例

    异步消息通常用在对响应时间敏感的业务场景,即发送端不能容忍长时间地等待Broker的响应。

    cwl_java
  • git 忽略特殊文件

    有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们,比如保存了数据库密码的配置文件啦,等等,每次git status都会显示Untracked f...

    九州暮云

扫码关注云+社区

领取腾讯云代金券