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. 初识 vue------简单介绍

    /**     vue         作者:尤雨溪         类型:MVVM      准确的来说是MV框架     为什么要学习vue         1.传统的项目是通过操作dom元素来修 ...

  2. java八个框架

    在本文中,我只是整理了以下主流框架: 1.阿帕切米纳 项目主页:http://mina.apache.org/ 它为开发高性能和高可用性网络应用提供了一个非常方便的框架,支持基于Java NIO技术的 ...

  3. 【Swift后台】环境安装

    macOS 在macOS上使用Vapor,需要Xcode 9.3或更高版本.Swift 4.1或更高版本.安装还需要Homebrew命令. 检查Swift版本: swift --version Vap ...

  4. 使用JFreeChart创建柱状图的工具类

    package cn.xfz.oa.util; import java.awt.Font; import java.util.List; import org.jfree.chart.ChartFac ...

  5. Win10带有网络连接的安全模式怎么开启?

    安全模式是在Windows系统中不加载第三方设备驱动程序的情况下启动电脑,从而可以方便的检测与修复电脑系统的错误,比如在安全模式下可以删除某些顽固的文件.查杀病毒.修复系统故障.卸载恶意软件等.不过在 ...

  6. XDCTF2014 Writeup

    Web50 猜谜语类题目?FLAG在图片中有一些字符的 ASCii值,拼起来就是FLAG. Web100 隐写术.使用工具 StegSolve,把任一颜色的bit0拼起来图片的最开始部分即为  fla ...

  7. collections:内建模块,提供额外的集合类

    介绍 collections里面包含了很多除了内置类型之外的数据类型,我们使用它们有时可以很方便的完成一系列操作 ChainMap:搜索多个字典 from collections import Cha ...

  8. QQ空间添加背景音乐

    QQ空间背景音乐方式 1.QQ音乐添加背景音乐一种是开通绿砖[有矿的忽略此条]2.QQ空间添加网络音乐的方法步骤:1.首先,需要先下载好想要音乐作为QQ空间背景音乐的歌曲文件(建议为MP3格式)[我这 ...

  9. linux工具之lsof

      1.lsof  ( list    open   files)   lsof(list open files) 是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通 ...

  10. python网络编程:TCP通讯模板、粘包及解决方案、自定义报头

    一.TCP通讯模板 二.远程CMD程序 三.解决粘包问题 四.解决粘包问题2 一.TCP通讯模板 TCP客户端 import socket c = socket.socket() # 连接服务器 c. ...