在Ubuntu中有时需要使用vi指令修改文件,本文简单介绍一下方法,以修改hosts文件为例

1、使用Ctrl+Alt+T打开终端
  2、在终端执行以下语句,进入特权模式,对于某些文件的修改,要在特权模式下才有权限

sudo su

3、找到你要修改的文件所在目录,比如我要修改hosts文件,需要使用以下指令返回上层目录

cd ..

可能需要执行多次,直至返回到 /# 目录下

ubuntu更改编辑sudo文件为vim_修改文件


  此时,可以输入以下指令查看该目录下文件(或文件夹)列表

ls

hosts文件位于etc目录下,可以使用cd etc进入该目录

ubuntu更改编辑sudo文件为vim_修改文件_02

4、输入vi hosts打开当前目录下的hosts文件

ubuntu更改编辑sudo文件为vim_搜索_03


  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

此时就可以像修改记事本里面的内容一样随意的修改了,修改完成后,点击右上角的保存后,退出就可以了

ubuntu更改编辑sudo文件为vim_插入文本_04