用了vi两年,因为不用vi写代码作开发,只是简单的修改配置文件而已,因此,呵呵,两年了还是一点不熟悉。最近因为公司要求需要学习在linux/unix上开发c/c++,只好努力学一下vi/vim了。
找了一本书,O'Reilly的Learning The VI Editor,chm的电子版本,认真地学了一遍,总结了一下常用命令:
文件操作
vi +n file 打开文件并移动到第n行
vi + file 打开文件并移动到最后一行
vi R file / view file 只读打开文件
:w 保存
:w! 覆盖已存在的文件文件
:w newfile 保存为新文件
:wq 保存并退出
ZZ 保存并退出=:wq
:q 退出
:q! 退出不保存修改
:e! 退回到上一次保存的状态
:1,10w newfile 将第一行到第10行保存为新文件
:.,$w >> file 将当前位置到结尾的内容添加到别的文件
:r file 读取file文件的内容
移动
Numeric + h|j|k|l 执行n次操作
h 向左移动(一个字符)
j 向下移动一行
k 向上移动一行
l 向右移动(一个字符)
e/E 移动到单词的末尾
(/) 移动到当前(一下)句的开始
{/} 移动到当前(一下)段的开始
[[/]] 移动到当前(一下)部分的开始
0 移动到行首
$ 移动到行末
w 向后移动一个文本块
W 向后移动一个文本块(忽略标点)
b 向前移动一个文本块
B 向前移动一个文本块(忽略标点)
^ 移动到当前行的第一个非空白字符
回车/+ 移动到下一行的开头的第一个字符
- 移动到上一行的开头的第一个字符
CTRL-F 下翻一屏
CTRL-B 上翻一屏
CTRL-D 下翻半屏
CTRL-U 下翻半屏
z + 回车 将当前行移到屏幕顶部
z. 将当前行移到屏幕中间
z- 将当前行移到屏幕底部
CTRL-L/CTRL-R 重新刷新屏幕
H 移到屏幕的第一行
nH 移到屏幕的第n行
M 移到屏幕的中间
L 移到屏幕的最后一行
nL 移到屏幕的最后一行前的n行
CTRL-L 显示行信息
G 移动到文件的最后一行
nG 移动到文件的第n行
`` 移动到上一个位置
编辑
i 在当前位置前插入
I 在行首插入
a 在当前位置后添加
A 在行末添加
o 在当前行下方新建一个空行开始插入
O 在当前行上方新建一个空行开始插入
s 删除当前字符然后进入插入状态
S 删除当前行然后进入插入状态
cw 修改当前词语(删除然后进入插入状态)
c2b 删除前面两个词语
c$ 删除本行当前位置后所有的内容
c0 删除本行当前位置前所有的内容
cc 修改当前行(删除然后进入插入状态)
r 替换当前字符(还保持命令状态)
R 连续替换(进入替换状态)
~ 修改当前字符的大小写
J 连接两行
标记
mx 将当前位置标记为x
'x 移动到标记为x的行
`x 移动到标记为x的位置
``/'' 在两次位置间切换
删除
dw 删除一个单词
d2w 删除两个单词
dd 删除当前行
d3d 删除3行
d0 删除当前行中在光标前的所有内容
d$/D 删除当前行中在光标后的所有内容
db 删除前一个单词
x 删除一个字符
3x 删除3个字符
移动
p 粘贴
xp 相当于交换两个字符的位置
yw 复制一个单词
. 重复上一个操作
. 取消上一个操作
搜索
/pattern 从前往后搜
?pattern 从后往前搜
n/N 和上一词搜索方向相同(相反)再搜
fx/Fx 在同一行中查找下(上)一个x字符并移动光标
替换
:s/old/new 替换当前行的第一个匹配
:s/old/new/g 替换当前行的全部匹配
:1,100s/old/new/g 替换1-100行的全部匹配
:1,$s/old/new/g 替换全部匹配=:%s/old/new/g
:g/pattern/s/old/new/g 查找满足pattern条件的行并进行替换
命令组合:
Change Delete Copy from Cursor to ...
cH dH yH top of screen
cL dL yL bottom of screen
c+ d+ y+ next line
c5| d5| y5| column 5 of current line
2c) 2d) 2y) second sentence following
c{ d{ y{ previous paragraph
c/pattern d/pattern y/pattern pattern
cn dn yn next pattern
cG dG yG end of file
c13G d13G y13G line number 13
(这里还是看书里面的原文吧。)
分享到:
相关推荐
### Vi常用命令手册知识点 #### 一、Vi编辑器简介 Vi是一款强大的文本编辑器,在Linux和其他类Unix系统中广泛使用。它具有多种工作模式,包括命令模式、插入模式和末行模式等,使得用户能够高效地进行文本编辑操作...
《VI编辑器常用命令详解》 VI编辑器,全称Visual Editor,是Linux和Unix系统中广泛使用的文本编辑器,以其高效和强大的功能深受程序员和系统管理员的喜爱。本文将详细介绍VI编辑器中的常用命令,帮助读者更好地掌握...
vi 编辑器常用命令汇总 vi 编辑器是 Linux 操作系统中的一个文本编辑器,具备了丰富的功能,以下是 vi 编辑器常用命令的汇总。 打开文件、保存文件和退出 * 打开文件:vi 文件名 * 打开文件并跳转到指定行号:vi...
个人整理一下日常工作中常用的vi命令,帮忙大家快速入门。 请准备好你的手指!
### Linux VI 常用命令详解 #### 一、VI编辑器概述 VI(Visual Editor)是Unix/Linux系统中最常见的文本编辑器之一。对于初学者来说,VI的学习曲线较为陡峭,但掌握后能极大地提高工作效率。本文将详细介绍VI编辑器...
vi 命令大全 Vi 编辑器是 UNIX 操作系统中最流行的编辑器之一。它具有功能强大、灵活、易于使用的特点。Vi 编辑器可以在所有的 UNIX 操作系统(包括 Linux 操作系统)中随意编辑文件。 Vi 编辑器有两种基本模式:...
掌握vi编辑器中的常用命令对于提高文本处理的效率有着重要意义。本篇内容将对vi编辑器的常用命令进行汇总,并结合教育内容进行分析。 首先,vi编辑器主要分为三种模式:命令模式、插入模式和末行模式。在命令模式中...
### Linux vi常用命令详解 #### 一、简介 在Linux环境下,`vi`(Visual Editor)编辑器是一款功能强大且广泛使用的文本编辑工具。它具备高效的文字处理能力,支持多种模式切换,包括命令模式、插入模式及底行模式...
本文档将对“Vi常用命令一览表”进行详细解析,帮助读者快速掌握Vi的基本使用技巧。 #### 二、启动Vi编辑器 - **打开或新建文件**:`vi filename` —— 打开名为`filename`的文件进行编辑;如果文件不存在,则创建...
本文将深入解析标题为“vi常用命令整理可以备查”中提及的各项功能与操作,帮助读者全面掌握VI编辑器的使用技巧。 #### 一、基本移动命令 - **`h`**: 向左移动一个字符。 - **`j`**: 向下移动一行。 - **`k`**: ...
### Vi常用命令详解 #### 一、概述 在Linux及类Unix系统中,Vi(Visual Editor)是一款极其重要的文本编辑器。它具有强大的文本编辑能力,并且能够在多种操作系统上运行。由于其高度的定制性和效率,Vi成为了许多...
【vi常用命令(精华)】这篇教程主要介绍了Unix和Linux环境下经典的全屏文本编辑器vi,它是基于ex编辑器系列的,提供了两种操作模式:输入模式和指令模式。vi的名称来源于“Visual”,强调其即时反馈的编辑特性,...
【vi常用命令】是Linux或Unix环境中非常重要的文本编辑器vim的基本操作集合,vim作为一款强大的文本编辑工具,其高效的操作方式深受程序员和系统管理员喜爱。以下是对标题和描述中涉及的一些常用命令的详细说明: 1...
### Linux Vi常用命令详解 #### 一、简介 在Linux环境下,`vi`(Visual Editor)是最常用的文本编辑器之一,适用于对系统进行各种文本文件的编辑操作。它具有多种工作模式,包括一般模式、编辑模式和命令行模式。...
【Vi常用命令】详解 Vi(Visual Editor)是一款在所有UNIX系统中不可或缺的文本编辑器,因其高效且功能强大而闻名。尽管对于初学者来说,Vi可能显得有些复杂,但熟练掌握后,它将成为你在UNIX/Linux环境中进行文本...
本篇文章主要介绍在一般模式下的常用命令,包括光标移动、搜寻与取代、删除、复制与粘贴等操作。 **光标移动** 在一般模式下,你可以通过键盘上的方向键或快捷键来移动光标。例如: - 向左方向键(←):光标向左移动...