Vim基础操作
在正式使用Vim之前,先来点开胃菜,学习下Vim中一些常用的命令,有了这些基本命令,才能让我们使用Vim更加得心应手,加快工作的效率~
注意:接下来将要介绍的命令主要是用在Vim的Normal模式下。
一 创建/修改文件
当需要对一个文件进行编辑时,首先这个文件得存在。你可以使用Vim创建或修改文件(假设文件名为hahaya.cc),在终端下执行 Vim hahaya.cc,这条命令会打开hahaya.cc文件,当hahaya.cc这个文件不存在时,Vim会创建这个文件并打开。
二 在Vim中打开/保存/退出/修改文件
(1) :e filename < - > 打开文件filename,注意filename包含文件路径
:e ~/hahaya.cc 打开主目录下的hahaya.cc文件
(2) saveas filename < - > 文件另存为,注意filename包含文件路径
(3) :w < - > 文件保存
(4) :q < - > 不保存退出,回到终端下
(5) :q! < - > 不保存强制退出
(6) :wq < - > 保存退出
(7) :wq! < - > 强制保存退出
(8) :bn < - > 打开多个文件时,使用该命令切换到下一个文件
(9) :bp < - > 打开多个文件时,使用该命令切换到上一个文件
三 各种插入模式
前面说到过从Normal模式进入Insert模式有很多种方法,下面介绍几种常用的方法
(1) i < - > 在光标前插入,进入到Insert模式
(2) a < - > 在光标后插入,进入Insert模式
(3) o < - > 在当前行后插入一行,进入Insert模式
(4) O < - > 在当前行前插入一行,进入Insert模式
(5) cw < - > change word,替换光标当前所在位置到该单词结尾的字符,其实实际效果是删除,进入Insert模式
四 简单的光标移动
(1) h < - > 将光标向前移动一个字符
(2) j < - > 向下移动一行
(3) k < - > 向上移动一行
(4) l < - > 将光标向后移动一个字符
(5) 0 < - > 数字0,移动到光标所在行的行头
(6) ^ < - > 移动到本行第一个不是blank字符的位置(所谓blank字符就是空格、Tab、换行、回车等)
(7) $ < - > 移动到本行行尾
(8) g_ < - > 移动到本行最后一个不是blank字符的位置
(9) G < - > 移动到本文件的最后一行
(10) NG < - > 移动到本文件的第N行
(11) gg < - > 移动到本文件的第一行
五 拷贝/粘贴
(1) yy < - > 拷贝当前行
(2) Nyy < - > 拷贝从当前行开始的总共N行
(3) p < - > 小写p,粘贴拷贝的内容
(4)ggyG < - > 全选并复制
(5)dG < - > 删除全部
六 删除
(1) dd < - > 删除当前行,并把删除的行存放在剪切板中,所有可以使用p进行粘贴
(2) Ndd < - > 删除当前行开始的总共N行,并把删除的行存放在剪切板中,所有可以使用p进行粘贴
七 撤消
(1) u < - > 撤消上一次操作(vi的与此不同,多次撤销操作使用:数字u,表示要撤销的次数)
(2) Ctrl-r < - > 同时按下Ctrl和r键,对u的撤消
Vim中的命令确实比较多,所以记忆起来十分困难,就算记住了,然后不用,那么一段时间后还是会忘记,所以学习Vim命令最好的方法就是:多练,这样不知不觉中就会将Vim的命令牢牢的记住~
Vim基础操作的更多相关文章
- 项目实战12.1—企业级监控工具应用实战-zabbix安装与基础操作
无监控,不运维.好了,废话不多说,下面都是干货. 警告:流量党勿入,图片太多!!! 项目实战系列,总架构图 http://www.cnblogs.com/along21/p/8000812.html ...
- 【Linux 操作系统】Ubuntu 基础操作 基础命令 热键 man手册使用 关机 重启等命令使用
. : 关机, 如果将Linux默认运行等级设置为0, 系统将无法启动; -- : 多用户模式, 允许使用网络文件系统, 一般不使用图形界面登陆就是这种模式; -- : 多用户图形界面模式, 该模式下 ...
- SLAM+语音机器人DIY系列:(一)Linux基础——3.Linux命令行基础操作
摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码:而ROS又是安装在Linux发行版ubuntu系统之上的, ...
- Ubuntu 基础操作 基础命令 热键 man手册使用 关机 重启等命令使用
. : 关机, 如果将Linux默认运行等级设置为0, 系统将无法启动; -- : 多用户模式, 允许使用网络文件系统, 一般不使用图形界面登陆就是这种模式; -- : 多用户图形界面模式, 该模式下 ...
- 01 | VIM基础攻略
启动 vim 后,vim 处于 normal 模式. Step One: "i" -> insert 模式, ESC -> normal 模式: "x&quo ...
- Mysql数据库基础操作
Mysql数据库基础操作 在mysql数据库中开启使用tab键补全功能 1)修改主配置文件/etc/mysql/my.cnf(mysql和mariadb目录有些不同) vim /etc/mysql/m ...
- CentOS7安装MongoDB及基础操作
安装环境说明 系统环境说明 [root@master ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [root@ma ...
- Linux基于Hadoop2.8.0集群安装配置Hive2.1.1及基础操作
前言 安装Apache Hive前提是要先安装hadoop集群,并且hive只需要在hadoop的namenode节点集群里安装即可,安装前需保证Hadoop已启(动文中用到了hadoop的hdfs命 ...
- CentOS7搭建Flume与Kafka整合及基础操作与测试
前提 已完成Kafka的搭建,具体步骤参照CentOS7搭建Kafka单机环境及基础操作 Flume安装 下载 wget http://mirrors.tuna.tsinghua.edu.cn/apa ...
随机推荐
- InetAddress类
InetAddress类是Java对IP地址(包括IPv4和IPv6)的高层表示.大多数其他网络类都要用到这个类,包括Socket,ServerSocket,URL,DatagramSocket,Da ...
- javascript数据类型判断
javascript基本数据类型:原始类型 和 引用类型 原始类型(简单数据类型):String,Number,Boolean,Undefined,Null,Symbol(ES6新增) 引用类型( ...
- 线段树 poj 2991
我们只要把这些向量求和,最终所指的位置就是终点,因此我们只要维护好向量的区间和就可以了.对于第二个问题,我们可以用一个数组degree[i]表示第i个向量和第i-1一个向量当前的夹角,这样就有了当前的 ...
- samsung bios configuration怎么设置U盘启动
1.用第三方U盘制作软件制作U盘启动盘,并下载正版系统镜像或纯净版镜像,下载后缀为ISO的镜像文件拷贝到U盘根目录.2.开机按F2键进入BIOS设置.选择BOOT选项—Secure Boot设置为“D ...
- float,double和decimal类型
float:浮点型,含字节数为4,32bit,数值范围为-3.4E38~3.4E38(7个有效位) double:双精度实型,含字节数为8,64bit数值范围-1.7E308~1.7E308(15个有 ...
- Hadoop中pid文件存储
我的hadoop集群部署在自己电脑虚拟机上,有时候我是挂起虚拟机,第二天再打开发现有些线程就挂了,比如namenode,好奇怪,当时看了一些帖子说是和pid存储有关,找到log看到找不到pid.因为基 ...
- 看《css知多少》的一些总结
问题 1.有些浏览器不完全支持css3,现在可以用哪个工具去检测浏览器是否支持,以及支持哪些项? modernizr:检测浏览器对HTML5和CSS3特性(至于modernizr的介绍,可以看我另外一 ...
- XP---------专区(Windows Exprience)--体验的简写
待完善中 -------------------------------------- 1.0用u盘安装xp系统 用u盘给自己的或者朋友的电脑装上一个系统. 首先当然是下载一个系统文件,下面是本站的最 ...
- 11月6日下午PHP分页查询(查询结果也显示为分页)
1.先把数据库里所有的数据分页显示在页面,并在显示数据的表格上方加上查询表单. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transit ...
- Google Maps API V3 之 图层
Google官方教程: Google 地图 API V3 使用入门 Google 地图 API V3 针对移动设备进行开发 Google 地图 API V3 之事件 Google 地图 API V3 ...