文件树的浏览

目录浏览器Netrw

Netrw是Vim的内置文件管理器(用技术语言来说,它是Vim自带的一个插件)。

命令 行为
:Ex(:Explore) 打开文件浏览窗口
:e . 因为Netrw和Vim集成在一起,所以编辑一个目录时,实际上打开的是Netrw
:Vex 以左右分割方式打开Netrw
:Sex 以上下分割方式打开Netrw
:Lex 以左右方分割方式打开Netrw,当前Netrw窗口位于最左边,且高度占满了整个屏幕
:Ex sftp://<domain>/<directory>/ 支持远程编辑,这里的:Ex命令也可以换成:e,效果相同

支持文件菜单的:e命令

set wildmenu
产生一个自动补全的文件名菜单,并在状态栏中快速按Enter键呈现所有可能的自动补全选项。

启动wildmenu之后,输入:e命令(不按Enter,输入以空格),然后按Tab键。这时,状态栏中会显示一个文件列表,读者可以用Tab键遍历选择这些文件,或者用Shitf+Tab组合键反向遍历。

插件EERDTree

插件Vinegar

插件CtrlP

文本浏览

命令 行为
_ 将光标放到行首
$ 将光标置于行尾
Shitt + { 将光标移动到段落的开头
Shift + } 将光标移动到段落的结尾
Shift + ( 将光标移动到句子的开头
Shift + ) 将光标移动到句子的结尾
Ctr + f(PageDown 当前缓冲区向下翻页
Ctr + b(PageUpP 当前缓冲区向上翻页
/ <search-str>(? <search-str>) 在文档中搜索该字符串,/正向,?反向
i 在光标处进入插入模式
a 在光标后面进入插入模式
A 在前行尾进入插入模式(等价于$a
I 在当前行首进入插入模式(等价于_i
o 在光标下面在增加一行,在新的一行里进入插入模式
O 在光标上面新增一行,在新的一行里进入插入模式
C 删除光标右边的文字(直到行尾),然后进入插入模式
cc(S) 删除当前行的内容,然后进入插入模式,但会保留缩进
s 删除单个字符(如果前面加了数字,则会删除多个字符),然后进入插入模式
:set hlsearch 搜索高亮
:set noh 取消搜索高亮

寄存器

在Vim中复制和粘贴文本时,文本是存储在Vim寄存器里面的。Vim支持多种寄存器,每个寄存器用字母、数字或特殊符号来标示。

寄存器的访问方式是引导键",后面接寄存器的标识符,然后是针对指定寄存器的操作。

a-z所标识的寄存器用于手动复制数据。比如,将一个单词复制到a寄存器,可以使用"ayw命令,而粘贴命令为"ap

寄存器还可用于录制宏。

默认情况下,复制和粘贴操作使用的都是默认的无名寄存器。这个无名寄存器用双引号"来标识,读者可以用这个标识符来显示访问寄存器。比如""p用于从无名寄存器中粘贴文本,等同于p

用数字编号的寄存器是最后10次删除操作的历史记录。0寄存器存储的是最后一次删除的文本,1寄存器则为上上次删除的文本,依次类推。

还有一些很有用的只读寄存器:%存储了当前文件名,#存储了上次打开的文件名,.中位最后插入的文本,:为最后执行的命令

读者也可以在正常模式之外与缓冲区进行交互,Ctr + r组合键允许读者在插入模式或命令行模式下粘贴某个寄存器的内容。

从外部复制文本到Vim中

Vim中有如下两种内置的寄存器用于和外部世界交互。

  • *寄存器表示系统的主粘贴板(macOS和Windows系统中的默认粘贴板,在Linux系统中为终端的鼠标选择的内容)
  • +寄存器(只针对Linux)用于Window风格的Ctrl+c组合键和Ctr+v组合键操作[称为粘贴选择器]

如果读者希望默认使用这些寄存器,可以在.vimrc文件中设置clipboard变量,将其设置为unamed时,表示默认使用*寄存器进行复制和粘贴。

set clipboard=unamed " 复制到系统寄存器(*)

clipboard设置为unamedplus,将默认使用+寄存器.

set clipboard=unnamedplus  " 复制到系统寄存器

利用如下命令还可以同时使用这两个寄存器。

set clipboard=unamed,unnamedplus "复制到系统寄存器(*+)

有的Vim并不支持系统寄存器, 通过vim --version可以查看,检查clipboard前面是-还是+,如果为-不支持,+支持。

Vim可能会在粘贴过程中自动缩进代码。为避免这种情况,在粘贴之前现金支缩进,方式为:set paste,粘贴完成之后,恢复的命令为:set nopaste

Vim 8文本处理实战 第二章 高级编辑和文本浏览 阅读笔记2相关推荐

  1. 精通HTML 第二章 使用适当的标签完成任务 阅读笔记

    通过本章的学习,你将会找到一些演示如何使用无侵入性(unobtrusive)DOM脚本和CSS来充分利用这些语义和结构,以增强网页的功能和样式的示例. 2.1 文档标记 2.1.1 段落.换行和标题 ...

  2. 基于python的界面自动化测试-基于Python语言的自动化测试实战第二章(上)

    原标题:基于Python语言的自动化测试实战第二章(上) 测试环境搭建 2.1 Windows 下的环境搭建 如果想要学习一门编程语言,对于新手来说只需到其官方网站上去下载最新版本安装即可,但对于想要 ...

  3. INSPIRED技术产品经理的天启(第二版)-【英文书】阅读笔记NO.2

    INSPIRED技术产品经理的天启(第二版)-[英文书]阅读笔记NO.1 INSPIRED技术产品经理的天启(第二版)-[英文书]阅读笔记NO.3 第一章 每一个伟大产品的背后 作者的信仰和本书的中心 ...

  4. INSPIRED技术产品经理的天启(第二版)-【英文书】阅读笔记NO.1

    本书全名为<INSPIRED: HOW TO CREATE TECH PRODUCTS CUSTOMERS LOVE>(Wiley) 中文直译过来就是<启发:如何创造客户热爱的科技型 ...

  5. linux VCS+verdi运行UVM实战(第二章)中的例子

    目录 前言 介绍 建立工程 运行代码 查看波形 总结 前言 用VCS+verdi运行了下UVM实战中的例子(第二章). 介绍 在某宝上花了几十块,买了个虚拟机(已经安装好VCS+verdi).直接用U ...

  6. 机器学习实战-第二章代码+注释-KNN

    #-*- coding:utf-8 -*- #https://blog.csdn.net/fenfenmiao/article/details/52165472 from numpy import * ...

  7. 基于python的Opencv项目实战(第二章)

    https://www.bilibili.com/video/BV1oJ411D71z?p=2 课程代码及课件链接:https://pan.baidu.com/s/1HmFVa5aiccBJKQT_1 ...

  8. 并发编程实战-第二章学习

    "共享"意味着变量可以由多个线程同时访问,而"可变"则意味着变量的值再其声明周期内可以发生变化. 如果当多个线程访问同一个可变的状态变量时没有使用合适的同步,那 ...

  9. .NET Core IdentityServer4实战 第二章-OpenID Connect添加用户认证

    内容:本文带大家使用IdentityServer4进行使用OpenID Connect添加用户认证 作者:zara(张子浩) 欢迎分享,但需在文章鲜明处留下原文地址. 在这一篇文章中我们希望使用Ope ...

最新文章

  1. 基于OpencvCV的情绪检测
  2. 如何使用htmlq提取html文件内容
  3. javascript 自动按按钮
  4. 手摸手入门前端--01.webpack4
  5. 【Python基础】不服不行,Python 操作 JSON 的门道也这么多~
  6. python开课吧1980课程_开课吧的课程怎么样?
  7. py学习,列表,判断,循环
  8. Kaggle初体验之泰坦尼特生存预测
  9. AcWing 1826. 农田缩减(思维+枚举)
  10. Windows超级管理器绿色单文件版V9.41下载 | 电脑任务管理器损坏可予以替代 | Windows超级管理器下载
  11. 软件测试预演环境,什么是软件测试用例预演 有何优点?-软件水平考试-考试吧...
  12. 国产手机品牌线下渠道将崩溃,难怪618纷纷割肉抛售努力逃生
  13. setpositivebutton
  14. SPR:SUPERVISED PERSONALIZED RANKING BASED ON PRIOR KNOWLEDGE FOR RECOMMENDATION
  15. 怎样设置计算机默认字体及语言,电脑中默认输入法如何设置 Win7系统设置默认输入法技巧...
  16. python爬携程_用python selenium抓取携程信息
  17. 微信公众平台开发——新增素材
  18. 算力狂热时代的冷静之道:宁畅总裁秦晓宁分享企业的算力最优解
  19. CWRU数据集-美国西储大学轴承数据
  20. http://localhost/myphpsite/index.php

热门文章

  1. 制作简单的WPF时钟
  2. UI 设计的整个工作流程是怎样的?
  3. python帕多瓦数列前n项和的_几种求数列前n项和的方法
  4. flink 执行计划、数据传输策略
  5. 凡是过往,皆为序章,致敬2021,迎接2022!
  6. HarmonyOS Connect伙伴峰会:鸿湖万联全栈式使能鸿蒙智联
  7. javaWEB——新闻系统部分功能
  8. java 9宫格抽奖_九宫格抽奖HTML+JS版
  9. C语言基础选择题100道(附答案)04
  10. 基于Android平台im软件开发,基于Android平台IM软件多媒体数据传输保护