Linux文件管理—vi编辑器

news/2024/7/21 13:26:43 标签: linux, vim

1. 跳转

  • j:向下移动一行;

  • k:向上移动一行;

  • h:向左移动一个字符;

  • l:向右移动一个字符;

  • w:移动到下一个单词的起始位置;

  • b:移动到上一个单词的起始位置;

  • 0:移动到行首;

  • $:移动到行尾;

  • G:移动到文件的最后一行;

  • gg:移动到文件的第一行;

  • :20<Enter>:跳转到第20行;

2. 搜索

  • /pattern<Enter>:搜索符合指定模式的内容(支持正则表达式);
  • n:移动到下一个匹配处;
  • N:移动到上一个匹配处;

3. 删除

  • x:删除下一个字符(光标所在位置);
  • X:删除上一个字符(光标之前的位置);
  • 5x:删除后面5个字符;
  • 5X:删除前面5个字符;
  • dd:删除当前行;
  • 5dd:向下删除5行;
  • dG:删除光标所在行到文件最后一行之间的所有数据;
  • dgg:删除光标所在行到文件第一行之间的所有数据;
  • d$:删除光标所在位置到行尾间的所有数据;
  • d0:删除光标所在位置到行首间的所有数据;
  • u:撤销动作;

4. 复制粘贴

  • yy:复制当前行;
  • 3yy:向下复制3行(包括当前行);
  • yG:复制光标所在行到文件最后一行之间的所有数据;
  • ygg:复制光标所在行到文件第一行之间的所有数据;
  • y$:复制光标所在位置到行尾间的所有数据;
  • y0:复制光标所在位置到行首间的所有数据;
  • p:粘贴到下一行、或当前位置之后;
  • P:粘贴到上一行、或当前位置之前;

5. 替换

  • :10,20/pattern/replacement/g<Enter>:将 [10, 20] 行间所有匹配 pattern 的内容替换为 replacement;(与 sed 的 s 命令相同)($ 表示最后一行)
  • %s/pattern/replacement/g<Enter>:将 [1, $] 行间所有匹配 pattern 的内容替换为 replacement,等价于 :1,$/pattern/replacement/g<Enter>

6. 编辑

  • i:在当前位置之前插入;

  • I:在当前行的第一个非空格符处开始插入;

  • a:在当前位置之后插入;

  • A:在当前行的最后一个字符(包括空格)处开始插入;

  • o:在当前行下面添加一行;

  • O:在当前行上面添加一行;

  • :r filename<Enter>:读入 filename 对应文件的内容,并将其添加到当前行的下一行;

  • :w<Enter>:保存修改;

  • :w filename<Enter>:将当前内容另存为 filename 对应的文件;

  • :10,20 w filename<Enter>:将 [10, 20] 行之间的所有内容另存为 filename 对应的文件;

  • :q<Enter>:退出;

  • :q!<Enter>:忽略修改并退出;

  • :wq<Enter>:保存修改并退出;

7. 其他

  • J:合并当前行与下一行为一行(使用空格分开);
  • :10,20>><Enter>:将 [10, 20] 行向右缩进两个 tab(两个 >);
  • :10,20<<<Enter>:将 [10, 20] 行向左缩进两个 tab(两个 <);
  • :set nu<Enter>:显示行号;
  • set nonu<Enter>:隐藏行号;
  • :set ts=4<Enter>:设置 tab 宽度为4;

http://www.niftyadmin.cn/n/1663290.html

相关文章

C++类模板和static数据成员

静态数据成员对象之间共享的&#xff0c;当静态数据成员遇上类模板式也是如此吗&#xff1f; 现有demo类模板&#xff0c;类中包含static数据成员。 template <typename T> class A { public:A(T t 0);T& getT();A operator (const A& other);void print();pu…

【RabbitMQ学习笔记】2:认识消息通信与RabbitMQ的基本概念

跟着《RabbitMQ实战》学习一下&#xff0c;据说这本书偏运维&#xff0c;而且有些API已经变了&#xff0c;不过手头只有这本&#xff0c;结合着网络查一查学一学吧。 简述 消息队列 关于为什么要使用消息队列可以见这篇&#xff0c;特别是当需要做系统集成的时候。提前为系统…

计算机中数的表示

1. 整数的原码表示 整数的原码表示由符号位和数值位两部分组成。 最高位为符号位&#xff1a;0 表示正数&#xff0c;1 表示负数&#xff1b;数值位使用整数绝对值的二进制格式表示&#xff1b;例子&#xff08;以8位二进制为例&#xff09;&#xff1a; [2]原00000010[2]_原…

C++异常处理机制(超级详细)

目录 0.异常处理机制简介 1.传统错误处理机制&#xff08;通过函数返回值&#xff09; 2.异常处理机制语法 ​3.异常接口声明 4.异常类型和声明周期 4.1throw基本类型异常&#xff08;int 、float、char.....&#xff09; 4.2throw字符串类型异常 ​ 4.3throw类对象类型…

【MongoDB学习笔记】6:数据备份(mongodump)与恢复(mongorestore)流程

备份数据 要备份某个DB中的全部Collection&#xff0c;相当于备份RDBMS中某个Schema下的全部Table。比如想要备份这个DB&#xff1a; > show dbs admin 0.000GB config 0.000GB local 0.000GB lzh 0.000GB > use lzh switched to db lzh > show collection…

GoPro宣布裁员15%,专注于硬件开发

为重组公司架构&#xff0c;GoPro宣布裁员15%&#xff0c;并且关闭旗下的娱乐部门&#xff0c;专注于相机和无人机。 提到VR相机的话&#xff0c;大家最熟悉的就是运动相机制造商GoPro旗下的GoPro相机。最近&#xff0c;这家公司的日子也不好过&#xff0c;据报道他们将进行业务…

# 2017-2018-1 20155224 加分项-实现mypwd

2017-2018-1 20155224 加分项&#xff0d;实现mypwd 1. 学习pwd命令 pwd命令以绝对路径的方式显示用户当前工作目录。命令将当前目录的全路径名称&#xff08;从根目录&#xff09;写入标准输出。全部目录使用 / 分隔。第一个 / 表示根目录&#xff0c;最后一个目录是当前目录。…

【Python学习笔记】32:使用pymongo操作MongoDB进行CRUD操作

环境配置 使用Anaconda安装pymongo模块&#xff1a; conda install pymongoCRUD操作 from pymongo import MongoClient import pymongo# 连接到MongoDB conn MongoClient(127.0.0.1, 27017) # 获取某个DB对象(这里DB的名字是newlzh) db_lzh conn.newlzh # 查询集合中的一个…