在Ubuntu中有时需要使用vi指令修改文件,本文简单介绍一下方法,以修改hosts文件为例
1、使用Ctrl+Alt+T打开终端
2、在终端执行以下语句,进入特权模式,对于某些文件的修改,要在特权模式下才有权限
sudo su
3、找到你要修改的文件所在目录,比如我要修改hosts文件,需要使用以下指令返回上层目录
cd ..
可能需要执行多次,直至返回到 /# 目录下
此时,可以输入以下指令查看该目录下文件(或文件夹)列表
ls
hosts文件位于etc目录下,可以使用cd etc进入该目录
4、输入vi hosts打开当前目录下的hosts文件
5、将光标移动到要插入的位置,按键盘上insert键开始输入(可以使用右键的粘贴功能),输入完成后直接输入(:wq命令)保存并退出
6、补充一下保存时各命令的区别
:wq 保存后退出
:wq! 强制保存后退出
:w 保存但不退出
:w!若文件属性为只读时,强制写入该文档
:q 不保存并退出
:q!不保存并强制退出
7、使用vi命令修改文件的常用命令:
1、移动光标类命令
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:(注意是数字零)光标移至当前行首
$:光标移至当前行尾
插入文本类命令
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
总体来说使用vi命令修改文件还是比较繁琐的,需要了解一些特定的指令,其实对于hosts文件来说,没必要使用vi命令修改,使用以下命令就可以打开该文件
sudo gedit /etc/hosts
此时就可以像修改记事本里面的内容一样随意的修改了,修改完成后,点击右上角的保存后,退出就可以了