vim文本编辑器
为什么学vi?
1)所有的Unix Like 系统都会内建 vi 文本编辑器,其他的文本编辑器则不一定会存在;
2)很多个别软件的编辑接口都会主动呼叫 vi (例如未来会谈到的 crontab, visudo等指令);
3)vim 具有程序编辑的功能,可以主动的以字体颜色辨别语法的正确性,方便程序设计,可安装插件;
4)因为程序简单,编辑速度相当快速
1.vim编辑器中设置了三种模式—命令模式、末行模式、和编辑模式
命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找等工作。
输入模式:正常的文本录入。
末行模式:保存或退出文档,以及设置编辑环境。
命令 | 作用 |
a | 当前光标的下一个位置 |
i | 当前光标 |
o | 当前光标的下一行插入空行 |
A | 当前网标所在行行尾 |
I | 当前光标所在行行首 |
O | 当前光标的下一行 |
在每次运行Vim编辑器时,默认进入命令模式,此时需要先切换到输入模式后再进行文档编写工作,而 每次在编写完文档后需要先返回命令模式,然后再进入末行模式,执行文档的保存或退出操作。在Vim 中,无法直接从输入模式切换到末行模式。Vim编辑器中内置的命令有成百上千种用法。
2.常用命令
(1)命令模式下的常用命令—光标移动
行首:0:绝对行首 和home键等价 shift+6:相对行首
行尾:end或者$ 绝对行尾
(2)命令模式下的常用命令—复制、粘贴、删除
(3)命令模式下的常用命令—文件内容查找
(3)命令模式中的基本操作—撤销编辑及保存退出
(4)末行模式中的基本操作—保存文件及退出vi编辑器
保存退出:命令模式:zz 末行模式::wq
(5)末行模式中的基本操作—打开文件或读入其他新文件内容
(读入操作系统的命令: :r !)
(6)末行模式中的基本操作—文件内容替换
(7)可视化模式的常用命令
<1> v: 按字符选取 该模式下通过光标移动选择文本,选取后按 y 可以把文本提取到缓冲区(即复制),c 可以剪切。之后可以使用p在光标后粘贴,P粘贴在光标前。
<2> V:按矩形选取 V是行选取模式,以行为单位进行选取。
<3> Ctrl+v是块选取模式,可以选取一块矩形区域中的文本。
3.配置文件
vim /etc/vimrc —对所有用户的配置文件进行编辑
vim ~/.vimrc —对当前用户的配置文件进行编辑
set hlsearch “高亮度反白 set backspace=2 “可随时用退格键删除
set autoindent “自动缩排
set tabstop=4 “缩进
set softtabstop=4 softtabstop是“逢4空格进1制表符”,前提是你tabstop=4
set shiftwidth=4 自动缩进空格长度
set mouse=a “使用鼠标
set selection=exclusive
set selectmode=mouse,key
set ruler “可显示最后一行的状态
set showmode “左下角那一行的状态
4.实例分析
(1)例:将passwd文件中的所有/bin/bash替换成/bin/sh
错误写法::% s//bin/bash//bin/sh/g —报错
正确写法1::% s/\/bin\/bash/\/bin\/sh/g 不推荐
正确写法2::% s#/bin/bash#/bin/sh#g(也可将#换成@,$等)
(2)复制1-12行到行尾::1,12 co $
(3)将1-12行另存到文件test::1,12 w test3.txt
(4)将49行到行尾删除::49,$ d