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. HTML5中新增加的结构元素、网页元素和全局属性

    HTML5新增的结构元素(新增的都是块元素,独占一行) 1) header 定义了文档的头部区域 <header> <h1>网站标题<h1> </header ...

  2. HTML的学习2(代码)

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. redis主从+ 哨兵模式(sentinel)+漂移VIP实现高可用系统

    原文:https://www.jianshu.com/p/c2ab606b00b7 客户端程序 客户端程序(如PHP程序)连接redis时需要ip和port,但redis-server进行故障转移时, ...

  4. Vue异步请求最佳实践

    一.当前存在的问题 目前项目前端请求后台数据的方式是这样的: 页面中method中dispatch到action action调用mutation,请求axios 请求到数据后存储到state中 页面 ...

  5. ssh登录缓慢,使用ssh -v登录后,显示在 “pledge: network” 处卡顿:

    当登录一台服务器时,每次输入密码之后都要等很久才会得到命令提示符,尝试修改了sshd_config中的UseDNS no,但效果依然不好. ssh -v 192.168.12.43 This is p ...

  6. Raspberrypi 安装完MySQL之后登录不了(ERROR 1698 (28000))

    1.问题原因: 出现这是错误是因为 mysql 默认的 root 用户使用了 UNIX auth_socket_plugin 的用户认证方式,我们有下面两种方式处理问题: 修改 root 用户认证方式 ...

  7. Hdu 6268 点分治 树上背包 bitset 优化

    给你一颗大小为n(3000)的树,树上每个点有点权(100000),再给你一个数m(100000) i为1~m,问树中是否存在一个子图,使得权值为i. 每次solve到一个节点 用一个bitset维护 ...

  8. 2019.9.29 FlutterToast使用

    引入 fluttertoast: ^ 增加头文件 import 'package:fluttertoast/fluttertoast.dart'; 样式 1 Fluttertoast.showToas ...

  9. keep running

     一个人的心态,会支撑你一路的发展:一个人的眼界,会决定选择的方向:一个人的格局,会意味着你成就多大的规模:一个人的毅力,会支持你能够走多远:一个人的用心,会注定你做出多好的成效!你变好了,一切就变好 ...

  10. java poi 生成多个sheet

    我的需求是:在一个表格中生成多个sheet,每个sheet的名称动态指定,每个sheet内的内容动态指定.生成的文件名动态指定. 工具类: package test; import java.io.O ...