Vim 8文本处理实战 第二章 高级编辑和文本浏览 阅读笔记2
文件树的浏览
目录浏览器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相关推荐
- 精通HTML 第二章 使用适当的标签完成任务 阅读笔记
通过本章的学习,你将会找到一些演示如何使用无侵入性(unobtrusive)DOM脚本和CSS来充分利用这些语义和结构,以增强网页的功能和样式的示例. 2.1 文档标记 2.1.1 段落.换行和标题 ...
- 基于python的界面自动化测试-基于Python语言的自动化测试实战第二章(上)
原标题:基于Python语言的自动化测试实战第二章(上) 测试环境搭建 2.1 Windows 下的环境搭建 如果想要学习一门编程语言,对于新手来说只需到其官方网站上去下载最新版本安装即可,但对于想要 ...
- INSPIRED技术产品经理的天启(第二版)-【英文书】阅读笔记NO.2
INSPIRED技术产品经理的天启(第二版)-[英文书]阅读笔记NO.1 INSPIRED技术产品经理的天启(第二版)-[英文书]阅读笔记NO.3 第一章 每一个伟大产品的背后 作者的信仰和本书的中心 ...
- INSPIRED技术产品经理的天启(第二版)-【英文书】阅读笔记NO.1
本书全名为<INSPIRED: HOW TO CREATE TECH PRODUCTS CUSTOMERS LOVE>(Wiley) 中文直译过来就是<启发:如何创造客户热爱的科技型 ...
- linux VCS+verdi运行UVM实战(第二章)中的例子
目录 前言 介绍 建立工程 运行代码 查看波形 总结 前言 用VCS+verdi运行了下UVM实战中的例子(第二章). 介绍 在某宝上花了几十块,买了个虚拟机(已经安装好VCS+verdi).直接用U ...
- 机器学习实战-第二章代码+注释-KNN
#-*- coding:utf-8 -*- #https://blog.csdn.net/fenfenmiao/article/details/52165472 from numpy import * ...
- 基于python的Opencv项目实战(第二章)
https://www.bilibili.com/video/BV1oJ411D71z?p=2 课程代码及课件链接:https://pan.baidu.com/s/1HmFVa5aiccBJKQT_1 ...
- 并发编程实战-第二章学习
"共享"意味着变量可以由多个线程同时访问,而"可变"则意味着变量的值再其声明周期内可以发生变化. 如果当多个线程访问同一个可变的状态变量时没有使用合适的同步,那 ...
- .NET Core IdentityServer4实战 第二章-OpenID Connect添加用户认证
内容:本文带大家使用IdentityServer4进行使用OpenID Connect添加用户认证 作者:zara(张子浩) 欢迎分享,但需在文章鲜明处留下原文地址. 在这一篇文章中我们希望使用Ope ...
最新文章
- 基于OpencvCV的情绪检测
- 如何使用htmlq提取html文件内容
- javascript 自动按按钮
- 手摸手入门前端--01.webpack4
- 【Python基础】不服不行,Python 操作 JSON 的门道也这么多~
- python开课吧1980课程_开课吧的课程怎么样?
- py学习,列表,判断,循环
- Kaggle初体验之泰坦尼特生存预测
- AcWing 1826. 农田缩减(思维+枚举)
- Windows超级管理器绿色单文件版V9.41下载 | 电脑任务管理器损坏可予以替代 | Windows超级管理器下载
- 软件测试预演环境,什么是软件测试用例预演 有何优点?-软件水平考试-考试吧...
- 国产手机品牌线下渠道将崩溃,难怪618纷纷割肉抛售努力逃生
- setpositivebutton
- SPR:SUPERVISED PERSONALIZED RANKING BASED ON PRIOR KNOWLEDGE FOR RECOMMENDATION
- 怎样设置计算机默认字体及语言,电脑中默认输入法如何设置 Win7系统设置默认输入法技巧...
- python爬携程_用python selenium抓取携程信息
- 微信公众平台开发——新增素材
- 算力狂热时代的冷静之道:宁畅总裁秦晓宁分享企业的算力最优解
- CWRU数据集-美国西储大学轴承数据
- http://localhost/myphpsite/index.php