Linux文本编辑器
注: 文章仅为作者学习笔记,不足之处请多指教
一、文件编辑工具(vim)
Linux平台下的文本编辑器: emacs、nano、gedit、vi、vim
vi(visual editor)编辑器通常被简称为vi,它是Linux和Unix系统上最基本的文本编辑器,类似于Windows 系统下 的记事本。学会它后,我们将在Linux 的世界里游刃有余。
vim特点:
- 所有的Unix like系统都会内置vi文本编辑器,其他的文本编辑器则不一定会存在
- 很多软件的编辑接口都会主动调用vi
- vim具有程序编辑的能力,可以主动以字体颜色辨别语法的正确性,方便程序设计
- 程序简单,编辑速度快
- vim是vi的升级版
㈠ vim编辑器三种模式
1、命令行模式
可以进行一些基本的复制、删除、跳转、撤销、移动等操作
# passwd lidamao
# echo 123|passwd --stdin wangergou命令
含义
备注
续表:
X 删除光标所在字符前面一个字符,3X删除3个字符 类似Windows下的backspace键
u 撤销操作 Ctrl+r 取消撤销
举例说明
① 环境准备
- 删除/tmp/目录里的所有内容
- 将/etc/passwd文件拷贝到/tmp目录里
② 使用vim工具打开文件
用法1: vim 文件名 默认会进入命令行模式
用法2: vim +数字 文件名 打开指定的文件,并且将光标移动到指定行
用法3: vim +/关键字 文件名 打开指定的文件,并且高亮显示关键词
# rm -rf /tmp/*
# cp /etc/passwd /tmp/
[root@localhost ~]# vim /tmp/passwd
[root@localhost ~]# vim +5 /tmp/passwd
2、编辑模式
功能:编辑文件内容。
进入方式:
i:在光标所在字符前开始插入
a:在光标所在字符后开始插入
o:在光标所在下面另起一新行插入
I:在光标所在行的行首开始插入,如果行首有空格则在空格之后插入
A:在光标所在行的行尾开始插入
O:在光标所在行的上面另起一新行插入
S:删除光标所在行并开始插入
3、底行模式
① 如何进入底行模式?
命令模式进入底行模式:按冒号 :
编辑模式进入底行模式:先按 Esc键 退出到命令模式,然后再按冒号 :
② 底行模式能做什么?
1. 保存和退出
保存文件,命令 :w ;另存为到其他文件,命令 :w 文件名
保存退出,命令 :wq ;强制保存退出 :wq!
退出不保存,命令 :q ;强制退出 :q!
命令 :x 在文件没有修改的情况下,表示直接退出(等价于:q),在文件修改的情况下表
示保存并退出(:wq)
2. 搜索替换
[root@localhost ~]# vim +/shutdown /tmp/passwd
#搜索摸索
:/root n往下匹配;N往上匹配
#替换模式
:%s/root/ROOT/ 全文搜索,替换每一行匹配到的第一个关键字
:%s/root/ROOT/g 全文搜索,替换每一行所有匹配的关键字
:%s/root/ROOT/gc 交互式替换
:%s/\/sbin\/nologin/\/bin\/bash/ \转义符
:%s#/sbin/nologin#/bin/bash#g 更换分隔符
:7s/shutdown/SHUTDOWN/g 只替换第7行的内容
#取消高亮
:noh (no highlight)
3.其他功能
临时设置行号
:set number 或 :set nu
永久设置行号
echo "set number" >> /etc/vimrc
:set list 查看控制符
地址定位
:1,5 w /tmp/5.txt 保存前5行内容到/tmp/5.txt
:r /tmp/5.txt 在光标所在行下面读取/tmp/5.txt文件内容
:3r /tmp/5.txt 在当前文本的第3行后读取/tmp/5.txt文件
:1,8d 删掉文本的1到8行
:nr !command 在第n行下面读取命令所执行的结果
:n! command 用命令的执行结果替换第n行内容
㈡ vim编辑器三种模式切换
命令模式 : 或 / 进入底行模式 a、i、o、s等进入插入模式
底行模式 esc 进入命令模式
插入模式 esc 进入命令模式