1、vim编辑器的工作模式

命令模式,插入模式,可视化模式,扩展命令模式。

2、命令模式

2.1、光标定位

hjkl:小键盘上下左右移动

0 $:行头、行尾

gg G:第一行、最后一行

30G:进入第30行

/string:快速定位到某一行

/^d:搜索以d开头的行

/txt$:搜索以txt$结尾的行

2.2、文本编辑

y 复制 yy 3yy ygg yG:复制一行、从当前行往下复制3行,复制当前行至第一行的所有行,复制当前行至最后一行的所有行。

d   删除 dd 3dd dgg dG:同上。

x   删除光标所在的字符

D   从光标处删除到行尾

u   undo撤销

^r  redo

r   修改一个字符

2.3、进入其他模式

i   进入插入模式

o   另起一行,进入插入模式

A   调到行尾,进入插入模式

v  进入可视模式

^v 进入可视块模式

V  进入可视行模式

R  进入替换模式

2.4、插入模式

^p:自动补全

块插入:^v shift+i 插入字符 esc

块替换:ctrl + v 进入块选择,r 输入替换的字符

块删除:选择块,d|x

块复制:选择块,y

2.5、扩展命令模式

保存退出

:10  进入第10行

:w   保存

:q   退出

:q!  强制退出

:wq  保存退出

:w!  强制保存

查找替换

:range s/old/new/option

:1,5 s/ifdown/latiny 将1至5行的第一个ifdown替换成latiny

:5,$ s/ifdown/latiny 将5至最后一行的第一个ifdown替换成latiny

:1,$ s/ifdown/latiny/g 将1至最后一行的所有的ifdown替换成latiny %表示全文,g表示整行

:% s/ifdown/latiny 所有行的第一个ifdown替换成latiny

:,8 s/old/new/  从当前行到第8行

:4,9 s/^#//     4-9行开头的#替换为空

:5,10 s/.*/#&/  5-10行前加入#字符, .*表示整行,&引用查找的内容

读入文件、写文件

:w    存储到当前文件

:w /tmp/2.txt 另存为 /tmp/2.txt

:1,3 w /tmp/2.txt 当前文件1至3行另存为 /tmp/2.txt

:r /etc/hosts  读入文件到当前行后

:5 r /etc/hosts  读入文件到第5行

设置环境 - 临时设置

:set nu  设置行号

:set ic 不区分大小写

:set ai  自动缩进

:set list  显示控制字符

:set nonu  取消设置行号

:set noic  取消不区分大小写

永久修改设置

/etc/vimrc   修改vim环境配置文件

~/.vimrc

set ic

set nu

打开多个文件

vim -O /root/test/directory/a.txt /root/test/directory/b.txt  大写O水平显示两个文件, 小写o垂直显示两个文件

^ww 切换打开的两个文件

vimdiff /root/test/directory/a.txt /root/test/directory/b.txt  查看两个文件的不同。

7 vi 编辑器的更多相关文章

  1. vi编辑器使用

    显示行号 set nu 取消行号 set nonu 定位到某一行 gg 定位到首行 G 定位到最后一行 在VI编辑器中切换调用外部shell命令 :!ifconfig   在编辑过程中,看ip地址 插 ...

  2. vi编辑器命令

    Linux下的文本编辑器有很多种,vi 是最常用的,也是各版本Linux的标配.注意,vi 仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但是不像 Windows 下的 word 有排版功能.v ...

  3. Linux学习之一--VI编辑器的基本使用

    vi编辑器是Linux系统下标准的编辑器.而且不逊色于其他任何最新的编辑器.可是会用的有多少呢.下面介绍一下vi编辑器的简单用法和部分命令.让你在Linux系统中畅行无阻. 基本上vi可以分为三种状态 ...

  4. vi编辑器的常规使用

    1.命令模式(command mode)-执行命令 在该模式中,可以输入命令来执行许多种功能.控制屏幕光标的移动,字符.字或行的删除,移动复制某区段及进入Insert mode下,或者到 last l ...

  5. vi编辑器 使用 命令

    vi编辑器 1)命令模式 打开文件后.默认处于命令模式,命令模式无法编辑文件 2)输入模式 在命令模式下 按 i 进入输入模式,便于编辑文件内容 3)末行模式 编辑内容后,按esc进入到命令模式,再按 ...

  6. Linux 中 Vi 编辑器的简单操作

    Linux 中 Vi 编辑器的简单操作 Vi 编辑器一共有3种模式:命名模式(默认),尾行模式,编辑模式.3种模式彼此需要切换. 一.进入 Vi 编辑器的的命令 vi  filename //打开或新 ...

  7. 第三天 vi编辑器使用和软件安装

    [复习] 判断题: 查看某文件权限为rwxr-xr-- ,则其所属组权限为只读. 对一个目录有w权限,表示可以修改目录下文件内容. 3..tar.gz格式的压缩包可以使用tar -xjf解压缩 4.m ...

  8. linux基础-第九单元 利用vi编辑器创建和编辑正文文件

    vi编辑器简介 什么是vi vi编辑器的操作模式 vi编辑器的3种基本模式 在vi编辑器中光标的移动 移动光标位置的键与光标移动间的关系 进入插入模式 从命令行模式进入插入模式的命令 在命令行模式下删 ...

  9. linux vi编辑器操作手册

    简介 Linux下的文本编辑器有很多种,vi 是最常用的,也是各版本Linux的标配.注意,vi 仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但是不像 Windows 下的 word 有排版功 ...

  10. linux中vi编辑器的使用

    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本 编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的任 何版本,vi编辑器是完 ...

随机推荐

  1. 嵌套For循环性能优化

    请对以下的代码进行优化 for (int i = 0; i < 1000; i++) for (int j = 0; j < 100; j++) for (int k = 0; k < ...

  2. Java虚拟机-------垃圾回收机机制

    概述 jvm中的堆图 在了解 垃圾回收器 之前,首先得了解一下垃圾回收器的几个名词. 1. 吞吐量CPU 用于运行用户代码的时间与 CPU 总消耗时间的比值.比如说虚拟机总运行了 100 分钟,用户代 ...

  3. 微信小程序中button去除默认的边框

    button { position:relative; display:block; margin-left:auto; margin-right:auto; padding-left:14px; p ...

  4. Python中GUI库PyQt5的安装和配置

    在使用Tkinter开发GUI程序时,发现相关文档比较少,开发起来太累.经过综合比较,决定使用PyQt这个库.下面是简单的安装步骤. 1.安装 PyQt5 : pip install PyQt5 -i ...

  5. jdk中集成的jre和单独安装的jre有什么区别?

    jdk 和 jre 是什么? 有什么区别? jre Jre 是java runtime environment, 是java程序的运行环境.既然是运行,当然要包含jvm,也就是大家熟悉的虚拟机啦,还有 ...

  6. TCP超时与重传

    TCP提供可靠的传输层.它使用的方法之一就是确认从另一端收到的数据.但数据和确认都有可能丢失.TCP通过在发送时设置一个定时器来解决这种问题.如果当定时器溢出时还没收到确认,他就重传数该数据.对任何实 ...

  7. Java数据结构浅析

    程序 = 数据结构 + 算法 本文概述Java中常用的数据结构,并简述其使用场景 1. 数据结构的定义 数据结构是一种逻辑意义,指的是逻辑上的数据组织方式及相应的处理,与数据在磁盘的具体存储方式不完全 ...

  8. CAN总线简介:如何以编程方式控制汽车

    最近,我正与Voyage公司的朋友合作研究,以实现福特Fusion空调系统(A/C)的编程控制.目前,Voyage公司正努力打造自动驾驶的终极目标:能够以低廉的价格成本和广泛的投放范围,把世界任何地方 ...

  9. BLE 5协议栈-通用访问规范层(GAP)

    文章转载自:http://www.sunyouqun.com/2017/04/ 通用访问规范GAP(Generic Access Profile)是BLE设备内部功能对外的接口层,它规定了三个方面:G ...

  10. GitHub的本地与远程

    首先要有一个github账户(这不是废话吗) 在linux中先安装git arch linux : pacman -S git 在终端里输入 ssh-keygen ##一直默认就可以了 将公钥加入到G ...