逐步搭建Lamp环境之vim的三种模式以及基本命令
在Linux中vim的三种模式分别为:命令模式、末行模式、编辑模式。以下是三者的关系图:

三种模式的彼此切换:
命令模式是vim中的默认模式。
命令模式切换至末行模式: 使用英文冒号(:)。
末行模式切换至命令模式: 按一下esc 或者 两下esc 或者 删除末行的全部命令。
命令模式切换至编辑模式: 按键 i 或者 a。
编辑模式切回命令模式: 按下esc。
其中,末行模式 和 编辑模式 之间,不能直接切换,必须切换到命令模式,再进行切换。
接下来细化到每个模式下的各种命令操作:
一、末行模式
末行模式中基本的操作有:保存、另存、退出、查找、替换。
1、保存
语法: :w (write)
说明: 将已做的更改进行保存,主要是编辑模式操作完成之后的操作。

2、另存
语法: :w 文件路径
说明: 保存和另存命令基本相似,区别在于另存需要指定文件的保存路径。

3、退出
语法: :q(quit)
说明: 如果不想保存直接退出可使用(:q!), 其中!表示强制

4、查找
语法: /需要查找的字符串
说明:可使用n(向下切换)、N(向上切换),改变光标位置。查找的位置会高亮

5、替换
语法: :s /被替换的字符/替换成的字符
说明: 对当前行的首次出现的字符进行替换

语法: :s /被替换的字符/替换的字符/g
说明:对当前行的所有匹配的字符进行替换,g代表global

语法:%s /被替换的字符/替换的字符
说明:对整个文档的每一行首次匹配的字符串进行匹配替换

语法: %s /被替换的字符串/替换的字符串/g
说明: 替换整个文档匹配上的字符

二、命令模式
命令模式中基本的操作有:光标的移动、删除、复制。
1、光标的移动
语法:定位到最后一行 (G)
定位到第一行 (两个gg)
光标定位到指定行 (数字+G)
光标上衣或下移 (数字+↑ 或 数字+↓)
2、删除
语法:删除当前行(dd)[行号重置]
说明:删除当前行下一行不上移,文档行号会重新索引。
语法:删除当前行(D)[当前行置空,保留当前行号]
说明:删除当前行下一行不上移,删除后当前行留空
语法:删除多行(数字+dd)
说明:删除当前光标所在下一行的n条行数,n代表所填的数字。
注意:在vim中,删除和剪切命令是一样的,可用粘贴命令显示出来。
3、复制
语法:复制当前行(yy)
语法:复制多行(数字+yy)
说明:表示复制当前行一下指定的行数
温馨提示:复制完成后,可用p(parse)进行粘贴,粘贴在所在行的下一行
三、编辑模式
命令模式中基本的操作有:进入编辑 和 退出。
1、进入编辑
语法:a (afterinsert)表示在光标后进行编辑插入
i (insert) 表示在当前光标出进行编辑插入
2、退出
语法:使用esc即可退出 编辑模式
四、扩展
1、行号的显示问题
一般情况下,vim通过在末行模式中添加:set nu命令进行行号的显示,但这并不是
全局的,通常在下一次打开文件时,行号会自动消失,为了便于操作,我们通常会
修改vim的配置文件,来使得行号显示对全局生效。
vim的配置文件位于当前用户的家目录。若没有可自行创建。文件名称为.vimrc

在 当前文件输入 "set nu", 即可实现全局行号显示有效。
2、异常关闭处理
在文件没有正常关闭的情况下,如未保存直接通过远程窗口关闭。

解决此问题的方式是:删除该文件的交换文件
提示信息已经十分明确。交换文件.vimrc.swp在文件未被正常关闭时,自动创建。
所以使用命令: rm -f .vimrc 即可
注意:一般交换文件的通常格式为: 文件名.swp
3、重做 / 撤销
如果想要撤销操作,在末行模式中输入 :u
取消撤销为: ctrl + r
进行多步撤销为: 数字 + u
4、:wq和:x退出的方式有何区别?
在实际开发还是建议使用:x方式退出。
区别在于wq的方式无论文件是否有修改都会对文件的最后修改时间进行改变。
而:x只有在文件内容真正改变时才会修改文件最后修改时间。
逐步搭建Lamp环境之vim的三种模式以及基本命令的更多相关文章
- vim的三种模式
vim的三种模式(最基本的) 命令模式:在该模式下是不能对文件进行编辑的,可以输入快捷键进行一些操作(删除. 复制.移动光标.粘贴)[打开默认 是进入命令模式] 编辑 ...
- linux中vim编辑器三种模式及常用命令的使用
Linux命令经常使用才会烂熟于心 命令行模式: 移动光标: 向下左右箭头可以移动光标: 将光标移动到行尾:$; 将光标移动到行头:^: 将光标移动到页尾:shift+g; 将光标移动到页头:1+sh ...
- [币严区块链]ETH搭建节点区块数据同步的三种模式:full、fast、light
ETH 全节点Archive(归档)模式数据量增长图 上述图表可通过链接查看:https://etherscan.io/chartsync/chainarchive 通过上表,可以看到截止2019年 ...
- vi和vim的三种模式
1.一般模式 用vi 或vim 命令 ——>一般模式 2. 插入模式 i,o,a,r 及其各自大写 ——>插入模式 一般用 i 3.命令行模式 用命令来完成 读取,存盘,替换,离开vim ...
- VIM 三种模式和常用命令
引言 大数据开发工作中,周围的同事不是用 VIM 就是 Emacs,你要是用 UltraEdit 或 notepad++ 都不好意思跟人家打招呼...什么插件呀.语法高亮呀.拼写检查呀,能给它开的都给 ...
- linux下搭建lamp环境以及安装swoole扩展
linux下搭建lamp环境以及安装swoole扩展 一.CentOS 6.5使用yum快速搭建LAMP环境 准备工作:先更新一下yum源 我安装的环境是:apache2.2.15+mysql5 ...
- Ubuntu18.04下搭建LAMP环境
一.Apache2 web 服务器的安装 : 可以先更新一下服务器 1.sudo apt-get update # 获取最新资源包 2.sudo apt-get upgrade ...
- CentOS 6.5 下源码搭建LAMP环境
参考网站: http://wenku.baidu.com/link?url=Cvkqss2E9mnxXOZigMWPaCfqwsBxnm0sZ4aKE2oLAgQ888XxeC0DWOChxVqiHz ...
- •搭建LAMP环境及快速部署双网站并实现基于域名的虚拟主机
本节所讲内容: 实战:搭建LAMP环境及快速部署双网站并实现基于域名的虚拟主机 LAMP架构:??? Linux+Apache+Mysql+PHP Linux+Apache+Mysql/MariaDB ...
随机推荐
- HDU 1892 See you~(二维树状数组)
See you~ Time Limit: 5000/3000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Su ...
- CREATE DATABASE RoomReservation
要从我的模型开始构建我的RoomReservation数据库对象,我将创建表对象. 要在SQL Server中创建表,我需要使用CREATE TABLE语句. 使用CREATE TABLE语句,我将能 ...
- 在ssm框架中前后台数据交互均使用json格式
前后台数据交互均使用json. 框架ssm(spring+springmvc+mybatis) @RequestBody注解实现接收http请求的json数据,将json数据转换为java对象,注解加 ...
- canvas绘制旋转图形
将绘制到canvas上的要素进行旋转: 1.绘制时,通过操作画布的坐标轴状态:平移画布原点,旋转坐标轴等,达到旋转图形的目的 2.操作操作DOM元素,直接旋转canvas画布 操作画布的坐标轴状态: ...
- 高性能 AJAX
请求数据的常用的五种方式 1.XMLHttpRequest (XHR) var url = '/data.php'; var params = [ 'id=934875', 'limi ...
- HTML学习笔记 CSS学习选择器案例 第五节 (原创) 参考使用表
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 绕过校园网WEB认证_dns2tcp实现
相信很多高校学生都有用WEB认证方式接入校园网的经历 拿我所在的大学为例,我们大学的校园网由联通公司承建,当我连上寝室的无线路由器后,浏览器会自动弹出一个由卓智公司开发的认证界面,如下图: 如果买了联 ...
- day2--SecureCRT的配置
生产中,我们是看不到虚拟机的工作界面,虚拟机的界面相当于机房显示屏的样子,实际上我们是在操作工具里面进行管理,这里使用SecureCRT远程连接虚拟机,SecureCRT的设置如下: 1.打开Secu ...
- ANTS Performance Profiler 8:支持对Web请求、异步代码和WinRT的性能剖析
下载与激活:http://download.csdn.net/detail/lone112/6734291 离线激活 位于英国的Red Gate Software有限公司最近发布了ANTS Per ...
- redis数据类型及常用命令介绍(图文实例)
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAhgAAAFLCAYAAACUdvXUAAAgAElEQVR4nO3da1da58L2fT5KfPvc96 ...