Vi 基本指令介紹
#vi 文本文件名称
注:使用vi编辑器打开文本文件
输入:a、i、o
注:进入编辑状态,此时系统会自动在最后添加INSERT字符串
到第一行:gg
到最后一行:G
到某一行:xxG
到行首:0
到行末:$
复制:yy
贴上:p
复原:u
删一个字:x
删整行:dd
显示行数::set nu
不显示行数::set nonu
vi的搜索:/ 再次搜索:n
到shell::sh(在shell中回到vi:exit)
保存::w
离开::q
保存及离开::wq或shift+zz
强制离开(不储存)::q!
[color=red] [size=large]vi编辑器命令详解:[/size] [/color]
vi使用大全
[color=red]光标定位:[/color]
G 将光标移至最后一行行首
nG 光标移至第n行首
n+ 光标下移n行
n- 光标上衣n行
n$ 光标移至第n行尾
o 光标移至所有行的行首
$ 移动到光标所在行的行尾
^ 移动到光标所在行的第一个字符
hjkl 分别用于光标左移、下移、上移、右移一个字符
H 将光标移至当前屏幕首航的行首
M 将光标移至屏幕显示文件的中间行的行首
L 将光标移至当前屏幕的最低行的行首
[color=red]删除和替换[/color]x 删除光标处的字
nx 删除从光标所在位置开始向右的n个字符
dw 删除一个单词。
ndw 删除n个指定的单词
db 删除光标所在位置之前的n个词
ndd 删除当前行及气候n-1行的内容
dG 删除光标所在位置到最后一行的所有内容
d1G 删除光标所在位置到第一行的所有内容
d$ 删除光标所在位置到当前行的末尾的内容
d0 删除光标所在位置到当前行的开始的内容
[color=red]复制和粘贴[/color]
yy 将当前行的内容复制到缓冲区
nyy 将当前开始的n行内容复制到缓冲区
yG 将当前光标所在位置到最后一行的所有内容复制到缓冲区
y1G 将当前光标所在位置到一地行的所有内容复制到缓冲区
y$ 将当前光标所在位置到当前行的末尾的那日荣复制到缓冲区
y0 将当前光标所在位置到当前行的开始的那日荣复制到缓冲区
p 将缓冲区的内容写到光标所在的位置
[color=red]搜索字符串[/color]
/str 往右移动到有str的地方
?str 往左移动到有str的地方
n 向相同的方向移动到有str的地方
N 向相反得方向移动到有str的地方
[color=red]撤销和重复[/color]
u 取消前一次的误操作或不合适的操作对文件造成的影响,使之恢复到这种误操作呗执行之前的状态
. 再执行一次前面刚完成的某个命令
[color=red]退出[/color]
ZZ 存盘退出
ZQ 不保存退出
[color=red]跳行[/color]
:n 直接输入要移动到得行号即可实现跳行
[color=red]字符串搜索、替换[/color]
:/str/ 从当前光标开始往右移动到有str的地方
:/str? 从当前光标开始往左移动到有str的地方
:/str/w file 将包含有str的行写到文件file中
:/str1/,/str2/w file 将从str1开始到str2结束的内容写入file文件中
:s/str1/str2/ 将找到的第一个str替换为str2
:s/str1/str2/g 将找到的所有的str1替换为str2
:n1,n2s/str1/str2/g 将从n1行道n2行找到的所有的str1替换为str2
:1,.s/str1/str2/g 将从第1行道当前位置的所有的str1替换为str2
:.,$s/str1/str2/g 将从当前位置到结尾的所有的str1替换为str2
备注:vi支持基本的正则表达式,上述命令中的str和str1可疑使用正则表达式进行搜索
[color=red]文本的复制、移动和删除[/color]
:n1,n2 co n3 将从n1开始到n2为止的所有内容复制到n3后面
:n1,n2 m n3 将从n1开始到n2位置的所有的内容移动到n3后面
:d 删除当前行
:nd 删除当前行开始的n行
:n1,n2 d删除从n1开始到n2位置的所有内容
:.,$d 删除从当前行到结尾的所有内容
:/str1/,/str2/d 删除从str1开始到str2为止的所有内容
[color=red]相关操作[/color]
:w 将当前编辑的内容存盘
:w file 将当前编辑的内容写到file文件中
:n1,n2w file 将从n1行开始到n2行的内容写到file文件中
:nw file 将第n行写到file文件中
:1,.w file 将从第1行起到光标当前位置的所有内容写到file中
:f file 把当前文件改名为file文件
[color=red]设置vi环境[/color]
:set number 在编辑文件时显示行号
:set nonumber 在编辑文件时不显示行号
:set ruler 在屏幕底部显示光标所在行、列位置
:set noruler 不显示光标所在行、列的位置
[color=red]退出vi[/color]
:q 退出vi
:wq 保存退出vi
:q! 不保存退出vi
#vi 文本文件名称
注:使用vi编辑器打开文本文件
输入:a、i、o
注:进入编辑状态,此时系统会自动在最后添加INSERT字符串
到第一行:gg
到最后一行:G
到某一行:xxG
到行首:0
到行末:$
复制:yy
贴上:p
复原:u
删一个字:x
删整行:dd
显示行数::set nu
不显示行数::set nonu
vi的搜索:/ 再次搜索:n
到shell::sh(在shell中回到vi:exit)
保存::w
离开::q
保存及离开::wq或shift+zz
强制离开(不储存)::q!
[color=red] [size=large]vi编辑器命令详解:[/size] [/color]
vi使用大全
[color=red]光标定位:[/color]
G 将光标移至最后一行行首
nG 光标移至第n行首
n+ 光标下移n行
n- 光标上衣n行
n$ 光标移至第n行尾
o 光标移至所有行的行首
$ 移动到光标所在行的行尾
^ 移动到光标所在行的第一个字符
hjkl 分别用于光标左移、下移、上移、右移一个字符
H 将光标移至当前屏幕首航的行首
M 将光标移至屏幕显示文件的中间行的行首
L 将光标移至当前屏幕的最低行的行首
[color=red]删除和替换[/color]x 删除光标处的字
nx 删除从光标所在位置开始向右的n个字符
dw 删除一个单词。
ndw 删除n个指定的单词
db 删除光标所在位置之前的n个词
ndd 删除当前行及气候n-1行的内容
dG 删除光标所在位置到最后一行的所有内容
d1G 删除光标所在位置到第一行的所有内容
d$ 删除光标所在位置到当前行的末尾的内容
d0 删除光标所在位置到当前行的开始的内容
[color=red]复制和粘贴[/color]
yy 将当前行的内容复制到缓冲区
nyy 将当前开始的n行内容复制到缓冲区
yG 将当前光标所在位置到最后一行的所有内容复制到缓冲区
y1G 将当前光标所在位置到一地行的所有内容复制到缓冲区
y$ 将当前光标所在位置到当前行的末尾的那日荣复制到缓冲区
y0 将当前光标所在位置到当前行的开始的那日荣复制到缓冲区
p 将缓冲区的内容写到光标所在的位置
[color=red]搜索字符串[/color]
/str 往右移动到有str的地方
?str 往左移动到有str的地方
n 向相同的方向移动到有str的地方
N 向相反得方向移动到有str的地方
[color=red]撤销和重复[/color]
u 取消前一次的误操作或不合适的操作对文件造成的影响,使之恢复到这种误操作呗执行之前的状态
. 再执行一次前面刚完成的某个命令
[color=red]退出[/color]
ZZ 存盘退出
ZQ 不保存退出
[color=red]跳行[/color]
:n 直接输入要移动到得行号即可实现跳行
[color=red]字符串搜索、替换[/color]
:/str/ 从当前光标开始往右移动到有str的地方
:/str? 从当前光标开始往左移动到有str的地方
:/str/w file 将包含有str的行写到文件file中
:/str1/,/str2/w file 将从str1开始到str2结束的内容写入file文件中
:s/str1/str2/ 将找到的第一个str替换为str2
:s/str1/str2/g 将找到的所有的str1替换为str2
:n1,n2s/str1/str2/g 将从n1行道n2行找到的所有的str1替换为str2
:1,.s/str1/str2/g 将从第1行道当前位置的所有的str1替换为str2
:.,$s/str1/str2/g 将从当前位置到结尾的所有的str1替换为str2
备注:vi支持基本的正则表达式,上述命令中的str和str1可疑使用正则表达式进行搜索
[color=red]文本的复制、移动和删除[/color]
:n1,n2 co n3 将从n1开始到n2为止的所有内容复制到n3后面
:n1,n2 m n3 将从n1开始到n2位置的所有的内容移动到n3后面
:d 删除当前行
:nd 删除当前行开始的n行
:n1,n2 d删除从n1开始到n2位置的所有内容
:.,$d 删除从当前行到结尾的所有内容
:/str1/,/str2/d 删除从str1开始到str2为止的所有内容
[color=red]相关操作[/color]
:w 将当前编辑的内容存盘
:w file 将当前编辑的内容写到file文件中
:n1,n2w file 将从n1行开始到n2行的内容写到file文件中
:nw file 将第n行写到file文件中
:1,.w file 将从第1行起到光标当前位置的所有内容写到file中
:f file 把当前文件改名为file文件
[color=red]设置vi环境[/color]
:set number 在编辑文件时显示行号
:set nonumber 在编辑文件时不显示行号
:set ruler 在屏幕底部显示光标所在行、列位置
:set noruler 不显示光标所在行、列的位置
[color=red]退出vi[/color]
:q 退出vi
:wq 保存退出vi
:q! 不保存退出vi