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编辑器的使用技巧的更多相关文章

  1. Python之路【第十九篇】:爬虫

    Python之路[第十九篇]:爬虫   网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用 ...

  2. Egret入门学习日记 --- 第十九篇(书中 8.8~8.10 节 内容)

    第十九篇(书中 8.8~8.10 节 内容) 开始 8.8节. 重点: 1.类型推断. 2.类型强制转换,使其拥有代码提示功能. 3.除了TS自带的类型判断,Egret官方也提供了类型判断的方法. 操 ...

  3. Android UI开发第三十九篇——Tab界面实现汇总及比较

    Tab布局是iOS的经典布局,Android应用中也有大量应用,前面也写过Android中TAb的实现,<Android UI开发第十八篇——ActivityGroup实现tab功能>.这 ...

  4. Linux学习笔记(十二)VIM编辑器

    一.概述 VI Visual interface 可视化接口,类似于Windows中的记事本 VI->VIM 操作模式: (1)Command mode 命令模式 (2)Insert mode ...

  5. Linux中vim编辑器常用操作技巧

    Normal 0 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable {mso-styl ...

  6. 第十九篇 -- QTableWidget的使用

    QTableWidget的一些常用方法 下面两个类可以根据自己的情况自定义. 单元格类型的类: class CellType(Enum): ctKey = 1000 ctPath = 1001 ctI ...

  7. 第九十九篇:JS闭包

    好家伙,总是要来的,去面对那些晦涩难懂的原理,它就在那里,等着我去搞定它 首先我要去补充一些最基本的概念, 1.什么是内存? 新华字典永远的神, 但这个解释显然不够   去看看百度百科: 内存: CP ...

  8. Python开发【第十九篇】:Python操作MySQL

    本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymsql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb ...

  9. 【Python之路】第十九篇--Python操作MySQL

    本篇对于Python操作MySQL主要使用两种方式: 原生模块 pymsql ORM框架 SQLAchemy pymsql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb ...

随机推荐

  1. JavaScript权威指南第6版

    描述网页内容的html,描述网页样式的css,描述网页行为的JavaScript js,适合面向对象和函数式编程风格 es5新特性 第二章 词法结构 1.JavaScript程序是用Unicode字符 ...

  2. ContestHunter 1201 最大子序和

    描述 输入一个长度为n的整数序列,从中找出一段不超过m的连续子序列,使得整个序列的和最大. 例如 1,-3,5,1,-2,3 当m=4时,S=5+1-2+3=7当m=2或m=3时,S=5+1=6 输入 ...

  3. Python之路Day09

    函数 将某个功能封装到一个空间中就是一个函数 减少重复代码 函数体中存放的时代码 定义函数 def len(): def 关键字 len 函数名 -- 变量名 ()格式规定 :语句结束 调用函数 函数 ...

  4. requests-验证码登录

    ModuleNotFoundError: No module named 'bs4': 解决方法:pip install beautifulsoup4 https://blog.csdn.net/wi ...

  5. jsp报错java.io.IOException: Stream closed

    在使用jsp的时候莫名其妙的抛出了这个异常,经过反复检查 去掉了网友们说的jsp使用流未关闭,以及tomcat版本冲突等原因,最后发现是书写格式的原因. 当时使用的代码如下 <jsp:inclu ...

  6. django学习 session保持登录,且登出

    学一点记一点 刚刚进来的时候突然发现,博客园的主页在缩小的时候会发生一些挤压,有点意思 今天刚看了session,感觉之前太迷茫,把问题想得过于复杂了. 我这个是建立在有登录和注册的功能上的演示. 首 ...

  7. day04_1hibernate

    log4j的整合.一对一关系的操作.二级缓存的介绍 一.log4j的整合: 1.介绍什么是 slf4j 核心jar  : slf4j-api-1.6.1.jar .slf4j是日志框架,将其他优秀的日 ...

  8. jQuery的12种选择器

    jQuery的12种选择器  1.#id : 根据给定的ID匹配一个元素 显示(用加粗的代替颜色): 这是第一个p标签 2.* : 匹配所有元素,多用于结合上下文来搜索 显示 : 这是p标签 这是di ...

  9. NVMe概况

    简介 NVMe是为满足企业和客户系统需求,利用基于PCIe的固态存储,而精心设计的一个优化的,高效的,可伸缩主机控制器接口.NVMe是为非易失性内存(NVM)技术从头开始全新构建的,目的在于超越硬盘驱 ...

  10. pytest学习5-mark用例分类

    使用Mark标记测试用例 通过使用pytest.mark你可以轻松地在测试用例上设置元数据.例如, 一些常用的内置标记: skip - 始终跳过该测试用例 skipif - 遇到特定情况跳过该测试用例 ...