Linux学习之路三

1.  VI编辑器

1.1 Vi 简介

  • Linux中的最经典的文本编辑器

  • 只能是编辑文本内容,不能对字体段落进行排版

  • 不支持鼠标操作

  • 没有菜单

  • 只有命令

1.2  编辑器的使用

命令行模式:刚进来处于的模式

编辑模式:输入:i、O、o a A  ...

底行模式:按Esc键;然后输入::wq (wq:保存退出)

vi a.txt #打开a.txt文本进入编辑模式
vi a.txt +10 #打开a.txt文本并且定位到第10行进行编辑
#vim是vi的增强版,更加的智能 

  命令行模式可以操作的命令:

命令功能
o 在当前行后面插入一空行
O 在当前行前面插入一空行
dd 删除光标所在行
ndd 从光标位置连续向下删除 n 行
yy 复制光标所在行
nyy 从光标位置连续向下复制 n 行
p 粘贴
u 撤销
gg 回到文件顶部
G 回到文件末尾
/str 查找str

  底行模式可以操作的命令: 

命令功能
:q 退出
:wq 保存退出
:wq! 强制保存退出
:w 保存
:q! 修改内容不想保存
:w a.txt 将当前文件另存为a.txt
:x 保存退出
shift +z+z 保存退出
:set nu 设置行号
:%s/旧文本/新文本/g 文本替换
:12 将光标定位到第12行

  编辑模式 就可以直接编辑了

命令           作⽤
a        在光标后附加⽂本
A(shift + a)  在本⾏⾏末附加⽂本 ⾏尾
i          在光标前插⼊⽂本
I(shift+i)    在本⾏开始插⼊⽂本 ⾏⾸
o          在光标下插⼊新⾏
O(shift+o)      在光标上插⼊新⾏
 
  定位命令:
:set nu            设置行号
:set nonu      取消行号
:G     到最后一行
:gg    到第一行
:nG    到第n行
:n     到第n行
 
  保存退出:
:wq  保存退出
:q    退出
:q!    强制退出
ZZ    保存退出
 
  删除命令:
:dd  删除光标所在行
:n1,n2d  删除指定范围的行
:dG  删除光标所在行到末尾处的内容
:D  删除光标所在行的行尾
 
  搜索和替换命令
命令            作⽤
/string        向后搜索指定字符串
?string        向前搜索指定字符串
n        搜索字符串的下⼀个出现位置,与搜索顺序相同
N(Shift + n)   搜索字符串的上⼀个出现位置,与搜索顺序相反
:%s/old/new/g    全⽂替换指定字符串
:n1,n2s/old/new/g    在⼀定范围内替换指定字符串
  注意:  当遇到特殊字符时,需要进⾏转义处理:⽐如 . 写成 . * 写成 * ^ 写成 ^
#  % 指全⽂,s 指开始,g 指全局替换
#  起始⾏,终⽌⾏s/要替换的字符串/替换的新的字符串/g 将/g换成/c 询问确认
#  eg: : %s/ftp/yang/g 全局替换,把ftp替换为yang
#  eg: : 41,44/yang/lee/c 从41⾏到44⾏,把yang替换为lee,询问是否替换
#  eg: : 41,44/yang/lee/g 同上,不询问,直接替换
#  eg: : %s//root//ROOT/g 把/root替换为/ROOT,遇到特殊字符需要进⾏转义处理
#  eg: : %s#/bin/bash#/bin/ksh/g 把/bin/bash全部替换为/bin/ksh

  

  使⽤替换命令添删注释 :
# :% s/^/#/g 来在全部内容的⾏⾸添加 # 号注释 ^代表⾏⾸
# :1,10 s/^/#/g 在1~10 ⾏⾸添加 # 号注释
vi⾥⾯查命令
# :!which cp
vi⾥⾯导⼊命令的结果
#:r !which cp
# I或者O进⼊插⼊模式。

  

  

原文地址:https://www.cnblogs.com/joey-413/p/13952442.html