vi编辑器常用命令大全

来源:互联网 发布:英语四级真题推荐知乎 编辑:程序博客网 时间:2024/05/22 07:01

在UNIX下,vi是标准的文本编辑器之一。vi编辑器是Linux下应用最广泛的文本编辑器,在日常工作中几乎每时每刻都会用到vi编辑器,熟悉vi下的一些常用功能有助于提高工作效率。vi编辑器有三种操作模式:命令模式、插入模式、末行模式,插入模式即为编辑模式,下面着重介绍命令模式和末行模式。
以下内容中:小写字母(如 a)代表按下相应的键,大写字母(如 A)代表同时按下Shift+字母,特殊字符如$表示需要按下Shift+4,跟正常输入相同。
一、三种命令模式的切换
命令模式<==>插入模式
我们使用vi打开一个文件,默认模式就是命令模式,键入’a’或’i’就会进入插入模式,在插入模式下按下Esc键就重新回到了命令模式。
命令模式<==>末行模式
在命式模式时键入’:’即可进入末行模式,在末行模式下按下Esc键就重新回到了命令模式。
插入模式<==>末行模式
在插入模式想进入末行模式,先按下Esc键就进入命令模式,再键入’:’即可进入末行模式
在末行模式想进入插入模式,先按下Esc键就进入命令模式,再键入’a’或’i’就会进入插入模式
二、常用命令汇总
1.命令模式

操作 命令 光标右移 l(小写的L) 光标右移n个字符 nl 光标左移 h 光标左移n个字符 nh 光标下移 j 光标下移n个字符 nj 光标上移 k 光标上移n个字符 nk 移动光标到行首 0(数字0) 移动光标到行末 $ 移动光标到文件末尾 G 移动光标到文件开头 gg 移动光标到下一个单词开头 w 移动光标到当前或下一个单词结尾 e 移动光标到当前或下一个单词开头 b 移动光标到该行第一个非空白字符 ^ 移动光标到句尾 ) 移动光标到句首 ( 注:vi中句子用半角句号后加一个空格(. )分割 移动光标到段尾 ) 移动光标到段首 ( 注:vi中段落以空行分割 将光标定位到第n行的开头 nG 将光标下移n行 n+ 将光标上移n行 n- 将光标下移n行并置于行尾 n$ 移动光标到屏幕最顶行 H 移动光标到屏幕最底行 L 移动光标到当前屏幕中间行 M 当前行往右移动8个字符 >>(相当于tab键) 当前行往左移动8个字符 >>(相当于Shfit键+tab键) 改变当前光标所在字符大小写 ~(大写变小写,小写变大写) 删除当前字符到单词尾所有字符 dw 复制当前光标所在行 yy 复制n行 nyy(当前光标以下n行) 复制光标所在位置到单词尾字符(不包括空格)的内容到vi缓存区,相当于复制一个单词 yw nyw 复制n个单词 复制光标所在位置到行尾内容到缓存区 y$ 复制光标所在位置到行首内容到缓存区 y^ 将缓存区的内容粘贴到当前行的下方 p 将缓存区的内容粘贴到当前行的上方 P x 删除光标所在位的字符 ndd 删除n行 dd 删除光标所在的行 rx 使用x替代光标所在位置的字符 i 进入插入模式 a 将光标移至当前所在位置的右侧,并进入插入模式 o 在光标所在行下一行增添新行,并进入插入模式 O 在光标所在行上一行增添新行,并进入插入模式 I 将光标定位到行开头,并进入插入模式 A 将光标定位到行末尾,并进入插入模式 撤销最近一次的操作 u(可以多次使用恢复到原来的内容) 撤销所有操作 U

2.末行模式

操作 命令 保存文件 w 将当前文件的内容保存到file文件 w file 保存文件并退出vi编辑器 wq 将当前文件的内容写入file 文件,然后退出vi编辑器 wq file 将文件file的内容插入当前光标所在行的后面 r file 关闭当前文件,并打开新文件file e file 将当前文件重命名为file f file 打印当前文件名称和状态 f 退出vi编辑器 q 强制退出vi编辑器(不保存修改) q! 将光标移到第n行 n 删除第m至第n行的内容 m,nd 复制第m行到第n行的内容 m,ny 用new_str替换光标所在行中首次出现的old_str s/old_str/new_str 用new_str替换光标所在行中的所有old_str s/old_str/new_str/g 用new_str替换第m行至第n行的所有old_str m,ns/old_str/new_str/g 用new_str替换所有的old_str %s/old_str/new_str/g 从当前光标处往下查找与pattern匹配的行,然后在该行上用new_str替换掉所有的old_str /pattern/s/old_str/new_str/g

关于行号的一些特殊表示:
‘.’表示光标所在行的行号
-1表示倒数第二行
一些例子(以下命令都是在末行模式下执行的):

操作 命令 光标从当前行向下移动6行 .+6 将光标移到文件的最后一行 $ 将第5行到第10行内容写入file文件 5,15w file 将第1行到当前行内容写入file文件 1,.w file 将当前行到文件末尾内容写入file文件 .,$w file

3.vi临时文件
vi在编辑某一个文件时,会生成一个临时文件,这个文件以. 开头并以.swp结尾。正常退出该文件自动删除,如果意外退出例如忽然断电,该文件不会删除,在我们下次编辑该文件时会被要求选择以下命令处理:
O 只读打开,不改变文件内容
E 继续编辑文件,不恢复.swp文件保存的内容
R 将恢复上次编辑以后未保存文件内容
Q 退出vi
D 删除.swp文件

原创粉丝点击