vi编辑器使用
linux中的编辑器也有多种,如ed,sed,vi,vim,emacs等
vim/vi编辑器,其作用是编辑、建立、显示文本文件,他不想windows中的可视化编辑器,如notepad,word等,它没有菜单,只有命令
插入命令:
a在光标后插入文本
A在光标所在行行末插入文本
i在光标前插入文本
I在光标所在行行头插入文本
o在光标下插入新行
O在光标上插入新行
s删除光标所在处的字符并获取输入焦点
S删除光标所在行并在本行行头获的输入焦点
定位命令:
h、方向左键左移一个字符
j、方向下键上移一行
k、方向上键下移一行
l、方向右键右移一个字符
$移至光标所在行行尾
0移至光标所在行行首
H移至屏幕上端
M移至屏幕中央
L移至屏幕下端
:setnu设置行号
:setnonu取消行号
gg到第一行
G到最后一行
nG到第n行
:n到第n行
删除命令:
x删除光标所在处的字符
nx删除光标所在处后n个字符
dd删除光标所在行
ndd删除n行
dG删除光标所在行到末尾的内容
D删除光标所在行到行尾
:n1,n2d删除指定范围的行
复制和剪切命令:
yy、Y复制当前行
nyy、nY复制当前行以下n行
dd剪切当前行
ndd剪切当前行以下n行
p、P粘贴在当前光标所在行下或行上
替换和取消命令:
r取代光标所在处字符
R从光标所在处开始替换字符,按ese结束
u取消上一步操作
U取消对光标所在行所有的操作
搜索和替换命令:
/string向前搜索指定字符串,搜索时忽略大小写:setic
n、N搜索指定字符串的下一个出现位置(从前往后、从后往前)
:%s/old/new/g全文替换指定字符串
:n1,n2s/old/new/g在一定范围内替换指定字符串(替换时不询问)
:n1,n2s/old/new/c在一定范围内替换指定字符串(替换时询问)
保存、退出命令:
:wq等同于zz
:wq!强行保存退出,只有文件的所有者或root才可以,没有可写权限
:q!不保存强行退出
:w保存不退出
:w/etc/services另存为
导入文件命令:
:rfilename在当前vi正在编辑的文件读入(引入)另一个文件,如:r/etc/issue
:!命令把一个命令执行的结果导入vi文件中,如:!ls/root,然后敲回车
:r!date把当前系统时间导入到vi指定的文件
执行某个命令的结果显示到这个文件中:r!ls(要执行的命令)
:w>>backup将当前编辑的文件追加到backup文件当中
:1,5w>>a.txt将当前编辑的文件的第一行至第五行追加到a.txt文件中
:e/etc/passwd不想改当前正在编辑的文件要改另外一个文件(如要改/etc/passwd)
:e!将当前编辑的文件恢复至最初的状态(即用vi刚打开时的状态)
:e!aa.txt
:eb.file
:1,$s/aaa/bbb/g
:1,5s/aaa/bbb/c
:%s/\shark/ttt/g
vi-0/etc/passwd/etc/group同时编辑多个窗口
:nr(文件)把文件插入到第n行
:!(命令)运行命令,然后返回
:sh转到shell
:so(文件)读取文件在执行文件里的命令
一些vi的技巧
想要每次启动vi时都默认有行号,编辑用户主目录下的vi启动脚本(vi~/.vimrc),在此文件中添加setnu