《Practical Vim》第十章:复制和粘贴
第十章和第十一章讲了 Vim 的寄存器功能,
寄存器,是用于保存文本的特定的容器.它的内容:
- 既可以是类似于系统剪切板功能的,用于粘贴的文本
- 也可以是录制成的宏的命令.
第十章讲使用寄存器使用复制与粘贴功能.
""(无名寄存器)
命令:
| 命令 | 按键 |
|---|---|
| 剪切 | d |
| 删除(光标下的)字符 | x |
| 删除(光标下的)字符,并进入插入模式 | s |
| 粘贴(到光标后面) | p |
| 复制 | y |
当使用以上命令的时候,即将所选的文本保存到了无名寄存器当中.
应用:
- 调换两个字母: xp 命令
- 调换两行: ddp 命令
其他寄存器
在默认情况下, Vim 使用 "",
可以通过 定义 ""{register}前缀的方式来指定要用的寄存器
在 Ex 模式下,定义: put {register}, :delete {register}的后缀来指定要用的寄存器
"0 (复制专用寄存器)
调用:
在执行 y 命令时,不需要指定前缀
在执行 p 命令时, 指定"0{P/p}
"a-"z (有名寄存器)
调用:
在执行 y 命令时,需要指定前缀
在执行 p 命令时,需要指定前缀.
表达式寄存器
表达式寄存器是寄存器中的例外,可以执行 Vim 脚本中的表达式
光标
p 粘贴在光标之后, P 粘贴在光标之前.
但是:
- 当复制、剪切面对的对象为字符,则 p P 在光标的字符之后或之前执行.
- 当复制、剪切面对的对象为段落,则 p P 在光标的段落之后或之前执行.
{register} 命令:
将内容复制在光标之前.
:put 命令:
将内容粘贴到光标当前行的下方
《Practical Vim》第十章:复制和粘贴的更多相关文章
- vim 介绍安装 复制 剪切 粘贴
1. vim 产生:对于linux 文件的编辑,最初是vi,然后对于其功能的扩展,就产生了vim vim 的安装 yum install vim 2.光标的移动 用得最多的就是方向键上的 上下左右,和 ...
- vim选中字符复制/剪切/粘贴
转载自:http://www.cnblogs.com/luosongchao/p/3193153.html 问题描述: vim 中选中指定字符,进行复制/剪切/粘贴 选择:1.普通模式下--v+hjk ...
- vim操作(复制,粘贴)
整行操作 单行复制 在"命令"模式下,将光标移动到将要复制的行处,按"yy"进行复制 多行复制 在"命令"模式下,将光标移动到将要复制的首行 ...
- vi学习 常用命令-新建-复制-剪切-粘贴
mkdir /home/brandon.du/desktop/mylinux/test_1.txt ---------mkdir新建文件夹 rm /home/brandon.du/desktop/ ...
- Vim 下的复制/粘贴/剪切/撤销
一 了解 vim 有 12 个粘贴板,分别是 0.1.2.....9.a.“.+:用 :reg 命令可以查看各个粘贴板里的内容.在 vim 中简单用 y 命令只是复制到 "(双引号)粘贴板里 ...
- 关于vim复制剪贴粘贴命令的总结
最近在使用vim,感觉很好很强大,但是在使用复制剪切粘贴命令是,碰到了一些小困惑,网上找了一些资料感觉很不全,讲的也不好,遂自己进行实践并总结了. 首先是剪切(删除): 剪切其实也就顺带删除了所选择的 ...
- Linux使用技巧(一):vim中选中多行、复制和粘贴
一.选中多行: 使用命令vim打开文件,移动光标至所选行的开头,按v进入视图,键盘上按向下键,选中所需行即可. 二.复制与粘贴 三种方法: 1)在上文第一部分的基础上,按y,然后移动光标至所需粘贴处, ...
- vim寄存器与复制粘贴的实现
对于大多数在Ubuntu下使用vim作为常用编辑器的同学来讲,他们遇到的第一个比较大的麻烦来自于vim与外部应用的复制粘贴. 当然,愿意选择ubuntu以及vim的同学肯定是google好手.不幸的是 ...
- 【转】vim复制与粘贴
用vim写代码时,经常遇到这样的场景,复制多行,然后粘贴. 这样做:1. 将光标移动到要复制的文本开始的地方,按v进入可视模式.2. 将光标移动到要复制的文本的结束的地方,按y复制.此时vim会自动将 ...
随机推荐
- HTTP协议实际使用笔记
mozilla的帮助文档: https://developer.mozilla.org/zh-CN/docs/Web/HTTP HTTP协议详解(转) php http头设置相关信息 这个2篇最好先看 ...
- ASP.NET常见异常处理示例
将指定的年月日转初始化为DateTime新的实例(Nop.Admin.Controllers.OrderController.ParseProductAttributes) case Attribut ...
- webstorm 介绍
最新版2017 破解 注册时,在打开的License Activation窗口中选择“License server”,在输入框输入下面的网址: http://idea.iteblog.com/key. ...
- npm 镜像的问题
1> cnpm(不推荐) npm install -g cnpm --registry=https://registry.npm.taobao.org 2> 推荐第二种 npm confi ...
- 外星人入侵——安装Pygame
本文以win10和Python3为例来介绍如何安装Pygame. 安装Pygame需要使用pip,我们首先检查pip是否已被安装. 打开一个终端窗口,并执行如下命令 C:\Users\hys>p ...
- bounds的应用
frame是参考父view的坐标系来设置自己左上角的位置.设置bounds可以修改自己坐标系的原点位置,进而影响到其“子view”的显示位置. 向上滚动scrollview,我们就不断增加scro ...
- vs添加github代码库
1.安装git for windows 2.在vs中工具->扩展和更新,安装github extension 3.在项目中右键,添加源码到git,之后配置git,然后选择同步或者commit即可
- C# Tuple<T1,T2....T>元组的使用
1) 先说组元:一个数据结构,由通过逗号分割的,用于传递给一个程序或者操作系统的一系列值的组合. NET Framework 直接支持一至七元素的元组 Tuple<T1> Tuple< ...
- 第一章 JQuery概述
1.JQuery的作用:访问和操作DOM元素控制页面样式对页面事件进行处理扩展新的JQuery插件与Ajax技术完美结合注:JQuery能完成的效果js都能完成,但是JQuery的开发效率更高,代码更 ...
- [macOS] keychain的跳坑之旅!git拉取的权限问题
故事背景,svn与git各有长处,不过git大势所趋吧,那就搞搞.git的服务端,是基于phabricator搭建的,关于它的资料自行google就好了.其实之前运维已经搭好了phabricator了 ...