对正则表达式,VIM 的基本命令操作

一 (正则表达式)

正则表达式(REGEXP)是由一类特殊字符和文本字符所编写的模式,其中有些字符(元字符)不表示字符字面的意义,而表示控制或通配的功能。
分为两类: 基本正则表达式:BRE 扩展正则表达式: ERE
元字符分类:字符匹配,匹配次数,位置锚定,分组。
字符匹配: · 表示匹配的单个字符
. 转义,表示(·)的字符本意
【】 表示匹配指定范围内的任意单个字符,【】里的·表示本意,不用转义
【托字符】 表示匹配指定范围外的任意单个字符
【:alnum:】 字母和数字 【:alpha:】 代表任何英文大小写字符
【:lower:】 小写字母 【:upper:】 大写字母
【:blank:】 空白字符 【:space:】 水平和垂直的空白字符(比blank范围大)
【:punct:】 标点符号

匹配次数: 用于在要指定次数的字符后面,是表示前面字符出现的次数。

  • 表示匹配前面的字符重复的次数,包括0次
    ·* 任意长度的任意字符
    \? 匹配前面的字符0次或1次
    + 匹配前面的字符至少1次
    {n} 匹配前面的字n次,是指定m次
    {n,m} 匹配前面的字符最少n次,最多m次
    {,n} 匹配前面的字符最多n次
    {n,} 匹配前面的字符最多n次

位置锚定: 定位出现的位置。
^ 行首锚定,用于模式的最左侧
$ 行尾锚定,用于模式的最右侧
\> 词尾锚定,用于单词模式的最右侧
\< 词首锚定,用于单词模式的最左侧
\b 单词的边界

分组: () 将一个或多个字符捆绑在一起,当做一个整体进行处理。

二, VIM的基本命令操作

VIM 的文本编辑器
+# 打开文件后,让光标处于第#的行首
-d 可以比较多个文件
-m 只读的方式打开文件,避免误操作
-e 进入ex模式(编辑模式)
三种主要模式
命令模式:默认模式
插入模式:编辑模式
扩展命令模式:ex模式

可以让命令模式进入插入模式的,按ESC退出的一些操作:
按 i 光标不懂
按 I 光标移动到行首
按 a 光标往后移动一个字符
按 A 光标移动到本行的行尾
按 o 在光标下行切换新行
按 O 在光标上行切换新行
在命令模式下按: 就进入ex模式了

在ex模式下:
Wq 存盘退出 q 退出
Q! 强行退出,修改的不算
W 空格 跟文件 就可以把VIM的内容传送到文件
R 空格 跟文件 就可以把文件的内容读入VIM

在命令模式下的一些常用的用法:
字符间的跳动: h 左 l 右 j 下 k 上

前面加上数字# ,配合其他按键进行跳动

单词间的跳动: w 跳动到下一个单词的词首
e 跳动到下一个单词的词尾
b 跳动到前一个单词的词首
也可以配合#进行跳动
当前页面跳动: H 跳动到当前页面的页首
M 跳动到当前页面的中间
L 跳动到当前页面的页底

行首行尾的跳动: ^ 跳转至行首的第一个非空白字符
0 跳转至行首
$ 跳转至行尾

行间移动: G 直接跳动到整个文件的最后一行
gg 直接跳动到整个文件的第一行
一些快捷键: ctrl +f 向文件尾部翻一页
Ctrl+b 向文件首部翻一页
Ctrl+d 向文件尾部翻半页
Ctrl+u 向文件首部翻半页
命令模式的字符编辑: x 删除(剪切)光标处的字符
#x 前面加上数字,表示删除几个字符
Xp 交换光标处字符跟后面字符的位置
J 删除当前行后的换行符
~ 转换大小写

替换命令: r 替换光标所在处的字符
R 切换成REPLACE 模式,批量替换字符
删除命令: d 删除字符,可以结合光标跳转字符实现范围删除
d$ 删除到行尾
d^ 删除到非空白字符行首
d0 删除到行首,不包括光标处
dd 删除光标所在行 (配合数字批量删除)
D 从当前光标处一直删除到行尾

复制命令: (复制完可以按P粘贴)
y 复制
y$ 复制到行尾
y0 复制到行首
y^ 复制到非空白字符行首
yy 复制光标所在行
#yy 配合数字实行多行复制
Y 复制整行
改变命令: c 修改后切换成插入模式,配合d进行相应操作

100i wang [esc] 粘贴wang 100次 复制wang 100次

扩展命令模式: (ex)模式
地址定界:
:# 输入数字几,跳到第几行
#,#:从第几行到第几行,后配合相应命令
· 表示当前行
$ 表示最后一行
% 表示全文件内容
S 在扩展模式下完成查找替换操作
格式: s/要查找的内容/替换为的内容/修改符
修改符: i 忽略大小写
g 修改的全局替换(默认情况只替换每行第一次改的)
gc 全局替换时每次前询问

命令模式下: (小写)u 撤销 #u 撤销之前多次修改
(大写)U 撤销光标落在此行后所有的更改
按ctrl -r 重做最后撤销的更改(倒回去)

· 重做前一个操作
n. 重做前一个操作N次

VIM的寄存器
有26个命名的寄存器 (可以在不同窗口进行)
名称以a b c ….z 来表示
格式: 寄存器放在数字和命令之间
如: “ ayy 表示把当前光标所在行复制到a寄存器
“ap 表示把a寄存器的内容粘贴

VIM “F1 F2”一次处理多个文件
刚进去默认在第一个文件
:next 下一个
: prev 前一个
: qall 退出所有
: wqall 保存退出所有

VIM 使用多个窗口
VIM -o 上下分屏
VIM-O 左右分屏
在窗口间来回切换 ctrl+w
完成后 wqall

在VIM里加行号
显示 set nu
取消 set nonu
要想行号永久有效,必须保存配置文件:(用VIM改)
全局:/etc/vimrc 个人:~/.vimrc

在VIM里设置文本宽
启用 set textwidth =65
禁用 set wrapmargin =15

在VIM里设置光标所在的标识线
启用 set cursorline (cul)
禁用 set no cul

更详细用法请查:VIM help

原文地址:http://blog.51cto.com/13786575/2123870

时间: 2024-10-11 18:49:34

对正则表达式,VIM 的基本命令操作的相关文章

Centos7.5-Linux基本命令操作

本节所讲内容: - 3.1 Linux终端介绍 Shell提示符 Bash Shell基本语法 - 3.2 基本命令的使用:ls.pwd.cd.history - 3.3 查看系统和BIOS硬件时间 - 3.4 Linux如何获得帮助 - 3.5 开关机命令及7个启动级别 - 3.6 实战:设置服务器来电后自动开机 - 3.7 实战:设置服务器定时开机 3.1 Linux终端介绍.Shell提示符.Bash基本语法 3.1.1 登录LINUX终端 两种终端仿真器:1.GNOME桌面的GHOME

RHEL7基本命令操作

注意事项: [[email protected] ~]# df -h | grep sr0 /dev/sr0               3.8G  3.8G    0 100% /mnt 如果查看到的结果不是/mnt,则执行卸载命令,先进行卸载 [[email protected] ~]#umount /dev/sr0   [[email protected] ~]# echo "/dev/sr0 /mnt iso9660  defaults  0 0" >>  /etc

win server core 基本命令操作

win server core 基本命令 刚安装好的WIN SERVER CORE 桌面上没有任何图标,想要运行DOS环境,按下CTRL+ALT+DELETE,任务管理器里新建任务CMD即可打开DOS界面. 查看计算机名称:hostname 更改计算机名称:netdom renamecomputer computername(现计算机名称) /newname:computername(新计算机名称) 更改本地连接的IP地址,子网掩码,网关信息: netsh interface ipv4 set

Linux零基础入学之1-3 RHEL7基本命令操作和启动级别设置

§Linux零基础入学之1-3 RHEL7基本命令操作和启动级别设置 [本节内容] *Linux终端介绍 *shell提示符 *Bash shell基本语法 *基本命令的使用:ls.pwd.cd *查看系统折BIOS设置 *Linux如何获得帮助 *Linux关机命令:shutdown.init 0等 *Linux 7个启动级别 *设置服务器在来电后自动开机 [Linux终端介绍] tty    控制台终端 pts    代表虚拟终端 tty1-tty6 > 刚进入的图形界面(桌面)为tty1

linux基本命令操作(一)

常用系统命令: [[email protected] ~]# uname    //查看内核信息// Linux [[email protected] ~]# uname  -r       //只显示内核版本// 2.6.18-348.el5 [[email protected] ~]# uname  -a       //显示主机名.内核.硬件平台等全部信息a--all// Linux localhost.localdomain 2.6.18-348.el5 #1 SMP Wed Nov 2

linux基本命令操作(二)

·        du命令使用: [[email protected]]# du       //后没有选项和参数,默认评估当前目录下的所有目录的大小,当然也包括当前目录的大小// 237     ./grub 12      ./lost+found 6555    . [[email protected]]# ls config-2.6.18-348.el5  initrd-2.6.18-348.el5.img  System.map-2.6.18-348.el5 file1.txt]   

路由器的基本命令操作

实验一  路由器的基本命令操作 实验要求: 1.       路由器名:CCNA 2.       设置password为cisco1,secret为cisco2,vty为cisco3,并要求所有密码都加密. 3.       配置以太网口的IP为202.119.249.219 4.       设置登陆提示信息 5.       对串行口进行描述(描述信息) 6.       将上述信息保存到tftp server 7.       将实验过程配置写在记事本中进行粘贴: 实验过程: en co

vim(vi)常用操作及记忆方法

vi(vim)可以说是linux中用得最多的工具了,不管你配置服务也好,写脚本也好,总会用到它.但是,vim作为一个“纯字符”模式下的工具,它的操作和WINDOWS中的文本编辑工具相比多少有些复杂.这里,我根据自己个人的使用经验,整理了一套vim的操作以及记忆的方法,希望对大家的学习有所帮助. VI的三种模式 1,命令模式   2,输入模式   3,末行模式 命令         执行的操作                 记忆方法 :q           退出                

正则表达式grep的一些操作

在我们进行编辑的时候,我们会用到vim和nano这样的的全屏编辑器,这样的编辑器顾名思义会占据我们的屏幕,来进行编辑.当然,有全屏的编辑器,就有不是全屏的文本编辑器,叫做行编辑器,对于行编辑器来说,有行编辑器三剑客,grep系,sed,awk.这篇主要就来写grep系的编辑器的一些操作. greb系:grep,egrep,fgrep,文本搜索工具:基于PATTERN(模式)对于给定的文本文件进行模糊搜索,grep系所有命令默认工作于贪婪搜索模式: grep系:    grep:Global se