第十九篇 vim编辑器的使用技巧
- ~/.viminfo文件中存储了vim编辑器中常用的命令
- vim编辑器共有3中模式:命令模式、末行模式和输入模式,三种模式的转换方式如下图所示:
- vim 文件名 # 编辑一个文件,默认会直接进入命令模式,若该文件不存在,那么会自动进行创建,并直接进入
- 命令模式下,可以对文件进行搜索、复制、粘贴、剪切(删除)等操作
- 命令模式下的操作如下:
- dd --剪切(删除)光标所在行的内容
- 5dd --剪切(删除)光标所在行下面5行,包括光标所在行
- yy --复制光标所在行的内容
- 5yy --复制光标所在行下面5行,包括光标所在行
- p --将剪切或复制的内容粘贴到光标所在行的下一行
- u --撤销操作,按一下,撤销上次操作,按两下,撤销上上次操作,···,直到回到最初进入时的状态,然后你会看到文档左下角由如下信息:
- /搜索内容 --指定内容进行搜索,搜索到结果后,按"n"键或"N"键,可以在多个结果之间切换,"n"键向下切换,"N"键向上切换
- shift+g --跳到末行
- gg --跳到首行
- 命令模式是输入模式与末行模式切换的桥梁,即,输入模式无法直接转换成末行模式,必须先进入命令模式
- 在命令模式下,按下"a、i、o"中的任意一个键即可进入输入模式
- a --在光标所在位置的下一个字符处开始进行编辑
- i --在光标所在位置开始进行编辑
- o --在光标所在行下新建一个空行开始编辑
- 输入模式下,可以进行文本内容的正常编辑操作
- 在输入模式下,按下"Esc"键,即可返回到命令模式
- 在命令模式下,按下"shift + ;"键,即可进入末行模式
- 末行模式下的操作如下
- :w --保存
- :q --退出
- :wq --保存并退出
- :q! --强制退出
- :wq! --强制保存并退出
- :set nu --显示行号
- :$ --跳到末行
- :1 --跳到首行
- :数字 --跳到指定行
- 在末行模式下,按下"Esc"键,即可返回到命令模式
第十九篇 vim编辑器的使用技巧的更多相关文章
- Python之路【第十九篇】:爬虫
Python之路[第十九篇]:爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用 ...
- Egret入门学习日记 --- 第十九篇(书中 8.8~8.10 节 内容)
第十九篇(书中 8.8~8.10 节 内容) 开始 8.8节. 重点: 1.类型推断. 2.类型强制转换,使其拥有代码提示功能. 3.除了TS自带的类型判断,Egret官方也提供了类型判断的方法. 操 ...
- Android UI开发第三十九篇——Tab界面实现汇总及比较
Tab布局是iOS的经典布局,Android应用中也有大量应用,前面也写过Android中TAb的实现,<Android UI开发第十八篇——ActivityGroup实现tab功能>.这 ...
- Linux学习笔记(十二)VIM编辑器
一.概述 VI Visual interface 可视化接口,类似于Windows中的记事本 VI->VIM 操作模式: (1)Command mode 命令模式 (2)Insert mode ...
- Linux中vim编辑器常用操作技巧
Normal 0 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable {mso-styl ...
- 第十九篇 -- QTableWidget的使用
QTableWidget的一些常用方法 下面两个类可以根据自己的情况自定义. 单元格类型的类: class CellType(Enum): ctKey = 1000 ctPath = 1001 ctI ...
- 第九十九篇:JS闭包
好家伙,总是要来的,去面对那些晦涩难懂的原理,它就在那里,等着我去搞定它 首先我要去补充一些最基本的概念, 1.什么是内存? 新华字典永远的神, 但这个解释显然不够 去看看百度百科: 内存: CP ...
- Python开发【第十九篇】:Python操作MySQL
本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymsql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb ...
- 【Python之路】第十九篇--Python操作MySQL
本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymsql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb ...
随机推荐
- 获取redis cluster master对应的slot分布情况
需求:原生的redis-trib.rb功能是强大,但输出的内容过于繁杂,比如我需要关注哪些master对应哪些slots,不是很直观,如果集群的规模更大的话,那么输出的结果获取信息更加困难. 说明:这 ...
- json 的key值不能是变量
var _key = name; var _value = 2; var params = { _key :_ value } _key 为变量 console.log(params); { _key ...
- VSCode常用插件之open in browser使用
更多VSCode插件使用请访问:VSCode常用插件汇总 open in browser安装完这个插件就可以在编辑器菜单右键html,在默认浏览器打开了,高级使用暂未了解,请自行其它文章学习
- BZOJ-2424: [HAOI2010]订货【费用流】
Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1487 Solved: 1002[Submit][Status][Discuss] Descript ...
- C#调用WSDL接口
http://www.cnblogs.com/wlming/p/8032782.html
- Redis 数据总结(1 数据导入)
理论基础部分:http://www.redis.cn/topics/mass-insert.html 几百上千万的数据建议使用pipe来完成导入. 1.windows 下数据导入命令: type ou ...
- nginx 无法启动:bind() to 0.0.0.0:443 failed
bind to 0.0.0.0:443 failed.其实就是443端口被其它程序占用,要结束占用443端口导致nginx不能启动的应用. CMD: 1.查看所有程序使用的端口 netstat -ao ...
- jsp中连接数据库及实现增删改查
导入jdbc工具包 <%@page import="asp.engine.util.PageHelper"%><%@ page import="asp. ...
- NIO 和BIO
讲讲NIO? 传统的IO流是阻塞式的,会一直监听一个ServerSocket,在调用read等方法时,他会一直等到数据到来或者缓冲区已满时才返回.调用accept也是一直阻塞到有客户端连接才会返回.每 ...
- 数据库Dao层编增删改查写,数据库事务,数据库升级
数据库事务 有两个特点 1.安全性 情景:正常的转账行为,这个时候如果出现停电等异常,已经扣钱但是没有加钱:这个时候就可用数据库事务解决问题 2.高效性: 使用数据库事务添加享受同数量的数据,对比耗时 ...