在终端可以使用vim命令来直接编辑文件内容。

vim,也可以叫做vi。


vim有三种模式:命令模式、输入模式、底线命令模式。

命令模式

vim  文件名   进入命令模式,vim也可以写成vi。

如果文件不存在,先创建再打开,如果文件已存在,直接打开。

只能是当前目录下的文件,不能是document/1.txt这种子孙目录下的文件。

此模式下敲击键盘动作会被Vim识别为命令,而非输入字符。常用命令:

  • i    切换到输入模式,可以编辑文件内容,i即insert
  • :  切换到底线命令模式。所谓底线命令模式,是指输入的命令是在最后一行的(底线)。

输入模式

在此模式下可以编辑文件内容。可以使用很多键,比如Home、End、Del等。

按ESC可推出输入模式,回到命令模式。

底线命令模式

在命令模式下按下:(英文冒号)即进入底线命令模式。常用命令:

  • w 保存文件
  • q 退出vim(要先保存,才能退出)
  • q! 不用保存即可退出vim(强制退出)

注意:执行一个底线命令后,会自动回退到命令模式,如果还要执行底线命令,需要先按:,就是说每次执行底线命令时都要先按:。

可一起使用,比如

:wq  先保存文件再退出vim


完成流程示例

vim  1.txt   创建|打开文件

按i进入输入模式,编辑内容。

按ESC退出输入模式、回退到命令模式

按:wq保存文件并退出vim


命令模式下常用的快捷键

  • dd   删除当前行
  • yy  复制当前行
  • p  在当前行的下面粘贴出来
  • r 替换当前字符

这些命令要在命令模式下才可以使用。输入模式按ESC回到命令模式。

Linux 使用vim命令编辑文件内容的更多相关文章

  1. 【Linux】linux中用vim来比较文件内容不同

    1. 使用vim的比较模式打开两个文件: vim -d file1 file2 或 vimdiff file1 file2 2. 如果已经打开了文件file1,再打开另一个文件file2进行比较: : ...

  2. Linux 使用 tail 命令查看文件内容

    使用方法: $ tail --help 用法:tail [选项]... [文件]... 以标准输出的形式打印文件的最后10行内容: 如果不指定文件,或者文件为"-",则从标准输入中 ...

  3. linux 下echo命令写入文件内容

    http://blog.csdn.net/xukai871105/article/details/35834703 echo "Raspberry" > test.txt

  4. linux下用命令修改文件内容

    修改test_modify.sh中的LICENSE_INFO test_modify.sh #!/bin/bash licenseInfo=LICENSE_INFO licenseProduct=LI ...

  5. [转]linux中vim命令

    在vi中按u可以撤销一次操作 u      撤销上一步的操作 ctrl+r 恢复上一步被撤销的操作 在vi中移动光标至: 行首:^或0 行尾:$ 页首:1G(或gg) 页尾:G(即shift+g) 显 ...

  6. linux几种快速清空文件内容的方法

    linux几种快速清空文件内容的方法 几种快速清空文件内容的方法: $ : > filename #其中的 : 是一个占位符, 不产生任何输出. $ > filename $ echo & ...

  7. 使用while和read命令读取文件内容

    转:使用while和read命令读取文件内容 1.准备数据文件 $cat a.txt 200:2 300:3 400:4 500:5 2.用while循环从文件中读取数据 #!/bin/ksh whi ...

  8. Linux中vim命令出现E325错误解决方法

    出现该问题的原因是: vim在编辑文件的时候会创建一个swp file来保证文件的安全性,如果没有正常退出vim的,下次打开这个文件就会报E325的错误,提示swp文件已经存在. 解决方法也简单:把这 ...

  9. iconv内容,convmv文件名,unix2dos,dos2unix文件格式转换,od/cut/wc/dd/diff/uniq/nice/du等命令,linux文件名乱码,文件名,文件内容,vim编码设置

    1.enconv文件名编码转换,比如要将一个GBK编码的文件转换成UTF-8编码,操作如下 enconv -L zh_CN -x UTF-8 filename enconv -L GB2312 -x  ...

随机推荐

  1. export 和 export default 的区别

    export命令用于规定模块的对外接口. 一个模块就是一个独立的文件.该文件内部的所有变量,外部无法获取.如果你希望外部能够读取模块内部的某个变量,就必须使用export关键字输出该变量.下面是一个 ...

  2. 每天玩转3分钟 MyBatis-Plus - 6. select 用法

    每天玩转3分钟 MyBatis-Plus - 1. 配置环境 每天玩转3分钟 MyBatis-Plus - 2. 普通查询 每天玩转3分钟 MyBatis-Plus - 3. 高级查询(一) 每天玩转 ...

  3. Arrays.asList()用法梳理

    Arrays.asList()用法梳理 asList概述 Arrays是java容器相关操作的工具类,asList方法将Array转换为list,是Array和List之间的桥梁. asList本质 ...

  4. nginx之文件配置

    nginx配置规则 nginx由受配置文件中指定的指令控制的模块组成 伪指令分为简单伪指令和块伪指令 简单的指令由名称和参数组成,这些名称和参数之间用空格分隔,并以分号(;)结尾 块指令的结构 与 简 ...

  5. 浅谈synchronized

    目录 浅谈synchronized 前言 是什么 格式 同步代码块 同步方法 注意 最后 浅谈synchronized 前言 看多线程的相关书籍的时候,会经常阅读到一个使用前景,就是银行的取钱存钱操作 ...

  6. Boyer-Moore 算法 Leetcode169

    Boyer-Moore 算法 Leetcode169 一.题目 169. 多数元素 给定一个大小为 n 的数组,找到其中的多数元素.多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素. 你可以假 ...

  7. [GPU高性能编程CUDA实战].(桑德斯).聂雪军等.扫描版-百度云分享

    链接:https://pan.baidu.com/s/1NkkDiyRgmfmhm9d2g_GBKQ 提取码:3usj

  8. 【译】Serilog 配置基础知识

    Serilog 使用简单的C# API来配置日志记录.当外部配置需要时,可以使用Serilog.Settings.AppSettings包(.NET 框架)或Serilog.Settings.Conf ...

  9. nginx适用哪些场景

    1.静态资源服务 通过本地文件系统提供服务 2.反向代理服务 ningx的强大性能 缓存 负载均衡 3.API服务 openresty

  10. myeclipse 项目引入 com.sun.image.codec.jpeg 的api报错解决方法

    今天在做压缩图片的功能的时候发现JDK自带的jar找不到的问题,网上找到一个方法,实测可行,这边记录下: 在Eclipse中处理图片,需要引入两个包:   import com.sun.image.c ...