Vi
命令详解
第一节、
Vi
的使用
--------------------------------------------------------------------------------
进入
vi
的命令
vi filename :
打开或新建文件,并将光标置于第一行首
vi +n filename
:打开文件,并将光标置于第
n
行首
vi + filename
:打开文件,并将光标置于最后一行首
vi +/pattern filename
:打开文件,并将光标置于第一个与
pattern
匹配的串处
vi -r filename
:在上次正用
vi
编辑时发生系统崩溃,恢复
filename
vi filename....filename
:打开多个文件,依次进行编辑
移动光标类命令
h
:光标左移一个字符
l
:光标右移一个字符
space
:光标右移一个字符
Backspace
:光标左移一个字符
k
或
Ctrl+p
:光标上移一行
j
或
Ctrl+n
:光标下移一行
Enter
:光标下移一行
w
或
W
:光标右移一个字至字首
b
或
B
:光标左移一个字至字首
e
或
E
:光标右移一个字至字尾
)
:光标移至句尾
(
:光标移至句首
}
:光标移至段落开头
{
:光标移至段落结尾
nG
:光标移至第
n
行首
n+
:光标下移
n
行
n-
:光标上移
n
行
n$
:光标移至第
n
行尾
H
:光标移至屏幕顶行
M
:光标移至屏幕中间行
L
:光标移至屏幕最后行
0
:(注意是数字零)光标移至当前行首
$
:光标移至当前行尾
屏幕翻滚类命令
Ctrl+u
:向文件首翻半屏
Ctrl+d
:向文件尾翻半屏
Ctrl+f
:向文件尾翻一屏
Ctrl
+
b
;向文件首翻一屏
nz
:将第
n
行滚至屏幕顶部,不指定
n
时将当前行滚至屏幕顶部。
插入文本类命令
i
:在光标前
I
:在当前行首
a
:光标后
A
:在当前行尾
o
:在当前行之下新开一行
O
:在当前行之上新开一行
r
:替换当前字符
R
:替换当前字符及其后的字符,直至按
ESC
键
s
:从当前光标位置处开始,以输入的文本替代指定数目的字符
S
:删除指定数目的行,并以所输入文本代替之
ncw
或
nCW
:修改指定数目的字
nCC
:修改指定数目的行
删除命令
ndw
或
ndW
:删除光标处开始及其后的
n-1
个字
do
:删至行首
d$
:删至行尾
ndd
:删除当前行及其后
n-1
行
x
或
X
:删除一个字符,
x
删除光标后的,而
X
删除光标前的
Ctrl+u
:删除输入方式下所输入的文本
搜索及替换命令
/pattern
:从光标开始处向文件尾搜索
pattern
?pattern
:从光标开始处向文件首搜索
pattern
n
:在同一方向重复上一次搜索命令
N
:在反方向上重复上一次搜索命令
:
s/p1/p2/g
:将当前行中所有
p1
均用
p2
替代
:
n1,n2s/p1/p2/g
:将第
n1
至
n2
行中所有
p1
均用
p2
替代
:
g/p1/s//p2/g
:将文件中所有
p1
均用
p2
替换
选项设置
all
:列出所有选项设置情况
term
:设置终端类型
ignorance
:在搜索中忽略大小写
list
:显示制表位
(Ctrl+I)
和行尾标志(
$)
number
:显示行号
report
:显示由面向行的命令修改过的数目
terse
:显示简短的警告信息
warn
:在转到别的文件时若没保存当前文件则显示
NO write
信息
nomagic
:允许在搜索模式中,使用前面不带“
\
”
的特殊字符
nowrapscan
:禁止
vi
在搜索到达文件两端时,又从另一端开始
mesg
:允许
vi
显示其他用户用
write
写到自己终端上的信息
最后行方式命令
:
n1,n2 co n3
:将
n1
行到
n2
行之间的内容拷贝到第
n3
行下
:
n1,n2 m n3
:将
n1
行到
n2
行之间的内容移至到第
n3
行下
:
n1,n2 d
:将
n1
行到
n2
行之间的内容删除
:
w
:保存当前文件
:
e filename
:打开文件
filename
进行编辑
:
x
:保存当前文件并退出
:
q
:退出
vi
:
q!
:不保存文件并退出
vi
:
!command
:执行
shell
命令
command
:
n1,n2 w!command
:将文件中
n1
行至
n2
行的内容作为
command
的输入并执行之,若不指定
n1
,
n2
,则表示
将整个文件内容作为
command
的输入
:
r!command
:将命令
command
的输出结果放到当前行
寄存器操作
"?nyy
:将当前行及其下
n
行的内容保存到寄存器?中,其中
?
为一个字母,
n
为一个数字
"?nyw
:将当前行及其下
n
个字保存到寄存器?中,其中
?
为一个字母,
n
为一个数字
"?nyl
:将当前行及其下
n
个字符保存到寄存器?中,其中
?
为一个字母,
n
为一个数字
"?p
:取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字
ndd
:将当前行及其下共
n
行文本删除,并将所删内容放到
1
号删除寄存器中。
第二节、
VI
的使用(表格方式)
--------------------------------------------------------------------------------
一、插入文本
命令描述
i
在当前字符前插入文本
I
在行首插入文本
a
在当前字符后添加文本
A
在行末添加文本
o
在当前行后面插入一空行
O
在当前行前面插入一空行
R
以改写方式输入文本
二、光标定位命令
命令描述
j
或下箭头 向下移动一行
k
或上箭头 向上移动一行
h
或左箭头 左移一个字符
l
或右箭头 右移一个字符
w
右移一个词
W
右移一个以空格分隔的词
b
左移一个词
B
左移一个以空格分隔的词
0
移到行首
Ctrl-F
向前翻页
Ctrl-B
向后翻页
nG
到第
n
行
G
到最后一行
三、替换文本
命令描述
$
到行尾
(
到句子的开头
)
到句子的末尾
{
到段落的开关
}
到段落的末尾
四、删除文本
命令描述
r
替换一个字符
c
修改文本直到按下
Esc
健
cw
修改下一个词
cnw
修改接下来的
n
个词
五、文本编辑
命令描述
yy
将一行文本移到缺省缓冲区中
yn
将下一个词移到缺省缓冲区中
ynw
将后面的
n
个词移到缺省缓冲区中
p
如果缺省缓冲区中包含一行文本,则在当前行后面插入一个空行井将缺省缓冲区中的声容粘贴到这一行
中;如果缺省缓冲区中包含多个词,把这些词粘贴到光标的右边.
P
如果缺省缓冲区中包含一行文本,则正当前行前面插入一个空行井将缺省缓冲区中的内容粘贴到这一行
中;如果缺省缓冲区中包含多个词,把这些词粘贴到光标的左边.
六、保存退出
命令描述
zz
保存并退出
:w filename
写入文件
:W
写入文件
:x
保存(如果当前文件修改过)并退出
:q!
不保存文件,直接退出
:q
退出
vi
第三节、
VI
常用技巧
一、基本命令介绍
---- 1
.光标命令
k
、
j
、
h
、
l
——
上、下、左、右光标移动命令。虽然您可以在
Linux
中使用键盘右边的
4
个光标键,但是记住这
4
个命令还
是非常有用的。这
4
个键正是右手在键盘上放置的基本位置。
nG
——
跳转命令。
n
为行数,该命令立即使光标跳到指定行。
Ctrl+G
——
光标所在位置的行数和列数报告。
w
、
b
——
使光标向前或向后跳过一个单词。
---- 2
.编辑命令
i
、
a
、
r
——
在光标的前、后以及所在处插入字符命令
(i=insert
、
a=append
、
r=replace)
。
cw
、
dw
——
改变
(
置换
)/
删除光标所在处的单词的命令
(c=change
、
d=delete)
。
x
、
d$
、
dd
——
删除一个字符、删除光标所在处到行尾的所有字符以及删除整行的命令。
---- 3
.查找命令
---- /string
、
?string
——
从光标所在处向后或向前查找相应的字符串的命令。
---- 4
.拷贝复制命令
---- yy
、
p
——
拷贝一行到剪贴板或取出剪贴板中内容的命令。
二、常见问题及应用技巧
---- 1
.在一个新文件中读
/etc/passwd
中的内容,取出用户名部分。
---- vi file
---- :r /etc/passwd
在打开的文件
file
中光标所在处读入
/etc/passwd
---- :%s/:.*//g
删除
/etc/passwd
中用户名后面的从冒号开始直到行尾的所有部分。
----
您也可以在指定的行号后读入文件内容,例如使用命令“
:3r /etc/passwd
”
从新文件的第
3
行开始读入
/etc/passwd
的所有
内容。
----
我们还可以使用以下方法删掉文件中所有的空行及以
#
开始的注释行。
---- #cat squid.conf.default | grep -v ^$ | grep -v ^#
---- 2
.在打开一个文件编辑后才知道登录的用户对该文件没有写的权限,不能存盘,需要将所做修改存入临时文件。
---- vi file
---- :w /tmp/1
保存所做的所有修改,也可以将其中的某一部分修改保存到临时文件,例如仅仅把第
20
~
59
行之间的内容存
盘成文件
/tmp/1
,我们可以键入如下命令。
---- vi file
---- :20,59w /tmp/1
---- 3
.用
VI
编辑一个文件,但需要删除大段的内容。
----
首先利用编辑命令“
vi file
”
打开文件,然后将光标移到需要删除的行处按
Ctrl+G
显示行号,再到结尾处再按
Ctrl+G
,
显示文件结尾的行号。
---- :23,1045d
假定
2
次得到的行号为
23
和
1045
,则把这期间的内容全删除,也可以在要删除的开始行和结束行中用
ma
、
mb
命令标记,然后利用“
:a,bd
”
命令删除。
---- 4
.在整个文件的各行或某几行的行首或行尾加一些字符串。
---- vi file
---- :3,$s/^/some string /
在文件的第一行至最后一行的行首插入“
some string
”
。
---- :%s/$/some string/g
在整个文件每一行的行尾添加“
some string
”
。
---- :%s/string1/string2/g
在整个文件中替换“
string1
”
成“
string2
”
。
---- :3,7s/string1/string2/
仅替换文件中的第
3
行到第
7
行中的“
string1
”
成“
string2
”
。
----
注意
:
其中
s
为
substitute
,
%
表示所有行,
g
表示
global
。
---- 5
.同时编辑
2
个文件,拷贝一个文件中的文本并粘贴到另一个文件中。
---- vi file1 file2
---- yy
在文件
分享到:
相关推荐
以下是对VIM命令使用详解第一部分的详细阐述: 1. **光标移动**: - `h` / 左箭头:光标向左移动一个字符。 - `j` / 下箭头:光标向下移动一个字符。 - `k` / 上箭头:光标向上移动一个字符。 - `l` / 右箭头:...
### Linux下Vim命令详解 #### 一、引言 Vim是一款强大的文本编辑器,尤其在Linux环境下被广泛使用。它提供了丰富的功能,包括宏命令、多文件编辑支持、高效的文本导航方式以及灵活的编辑操作。本文将详细介绍Vim的...
"vim命令详解" Vim 是一个功能强大且灵活的文本编辑器,掌握 Vim 命令可以大大提高工作效率。本文档将详细介绍 Vim 命令的使用方法和技巧,帮助读者快速掌握 Vim 的基本使用和高级应用。 命令历史 在 Vim 中,...
vi/vim常用命令详解 在 Linux 环境下,使用 vi/vim 编辑器是开发和编辑文件的必备技能。 vi/vim 编辑器提供了多种命令来帮助用户快速和高效地编辑文件。下面将详细解释 vi/vim 的常用命令,帮助您轻松地掌握 vi/vim...
VIM工具命令的使用。VIM工具命令的使用。VIM工具命令的使用。
转载vi/vim命令详解图片,可做为壁纸,多幅图片。 vim是Linux下面最重要的编辑器了, 而对vim命令的学习是学好vim尤为重要,这张壁纸上面集中了vim的一些详细命令, 作为桌面背景,随时随地可以查看vim命令。
VIM(Vi IMproved)是Linux、Unix及类Unix系统中的一个强大文本编辑器,它在传统的VI编辑器基础上进行了扩展和改进,提供了更丰富的功能和更高的效率。...提供的图解教程是学习VIM命令的好资料,值得反复查阅和练习。
当你需要退出VIM时,如果未对文件进行更改,可以直接使用 `:q` 命令。如果对文件内容进行了更改但不希望保存,可以使用 `:q!` 强制退出。如果你希望保存更改后再退出,应使用 `:wq` 命令。此外,如果你在操作过程中...
### Mac之vim普通命令使用详解 #### 一、引言 在现代软件开发环境中,高效地使用文本编辑器是提高工作效率的关键之一。Vim作为一款功能强大的文本编辑器,不仅适用于Unix/Linux系统,也在MacOS平台上得到了广泛的...
### Vim命令合集详解 #### 一、命令历史 在Vim中,任何以`:`或`/`开头的命令都会被记录下来作为历史记录。这意味着你可以通过输入`:`或`/`,然后使用上下箭头键来浏览并选择之前执行过的命令。这在重复执行相同操作...
【vim命令文档】详解 Vim是一款强大的文本编辑器,尤其在Linux环境下广泛使用。它提供了丰富的命令集,使得编辑和操作文本变得高效且灵活。本文档将介绍一些vim操作的基本命令,帮助初学者快速上手。 ### 1. Vim...
### Vim命令详解 #### 1. Vim简介 Vim(Vi IMproved)是一款在Linux和其他类Unix系统上广泛使用的文本编辑器。它基于vi(Visual Editor)开发而来,旨在提供更丰富的特性和改进的用户体验。Vim因其强大的功能、高度...
《VI及VIM命令详解》 VI(Visual Editor)是UNIX系统下的一个文本编辑器,其增强版VIM(Vi IMproved)在功能上更加强大,广泛应用于各种操作系统。VIM的命令操作灵活多样,掌握其基本命令能大幅提升文本编辑效率。...
### Vim命令速查手册知识点详解 #### 一、光标移动 在Vim编辑器中,熟练掌握光标移动命令可以极大地提高编辑效率。 - **基础移动:** `h` 向左移动一个字符;`j` 向下移动一行;`k` 向上移动一行;`l` 向右移动一...
### Linux Vim 使用详解 #### Vi/Vim 工作模式概览 Vi 和 Vim(改进版 Vi)编辑器在 Linux 环境下是极其重要的文本编辑工具,它们提供了三种主要的工作模式:命令模式、插入模式和底线命令模式(通常称为 ":ex ...
**vim使用详解手册** 在IT领域,vim(Vi Improved)是一款强大的文本编辑器,深受程序员和系统管理员的喜爱。它的灵活性和高效性使得它在文本处理方面具有无与伦比的优势。下面将对vim的主要功能、操作模式、常用...
### Vim命令大全与新手入门指南 #### 一、Vim简介与强大之处 Vim,全称Vi IMproved,是一款源自Unix系统下的Vi编辑器的高级版本,它不仅继承了Vi的强大功能,还在此基础上增加了许多改进和扩展,使之成为当今最...
### Vim命令手册详解 #### 修改Vi文本 在Vim编辑器中进行文本修改时,有许多命令可以帮助用户高效地完成任务。 - **rchar**: 该命令用于将当前字符替换为`char`。例如,如果想要将光标所在位置的字符替换成字母...
### Vim基本命令详解 #### 一、概述 Vim(Vi IMproved)是Unix/Linux系统中最常用的文本编辑器之一,其强大的功能和高度可定制性使其成为开发人员和系统管理员的首选工具。对于Linux开发人员而言,熟练掌握Vim的...