前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >vim常用复制粘贴命令

vim常用复制粘贴命令

原创
作者头像
用户1685462
修改于 2021-09-06 02:27:14
修改于 2021-09-06 02:27:14
6.3K0
举报
文章被收录于专栏:网站教程网站教程

1、vim常用复制粘贴命令

Vim的复制粘贴命令无疑是y (yank),p(paster),加上yy,P

PS:

vim有个很有意思的约定(我觉得是一种约定),就是某个命令的大小写都是实现某种功能,只是方向不同,比如:

  1. w 跳转到下个word,W:跳转到上个word  
  2. f  某行正向查找并跳转    F: 反向....  

然后部分双写的字母有行操作:

  1. yy   复制一行  
  2. dd   删除一行  

所以,

  1. p就是在当前光标后粘贴,P就是在当前光标前粘贴  

另外,说完p,其实还有几个命令有时也是很有用的

  1. gp,和p的功能基本一致,只是粘贴完,它会把光标移动至粘贴内容之后;gP同理  
  2. :pu[t] ,注意,这个是在命令界面输入的pu/put,它的意思是把x寄存器的内容粘贴到下一行  

2、vim的寄存器和系统剪贴板

寄存器简介

vim强大之处之一就是它自带一堆寄存器,每个寄存器独立使用,你可以在不同寄存器中存储不同数据,命令,你可以把这个想象成一个加强版的剪贴板,当然它的功能不止剪贴板这么简单。如果你想看vim的官方文档有关部分:

  1. :help  registers  

根据官方手册:vim有9种寄存器

There are nine types of registers:                      registers E354 1. The unnamed register "" 2. 10 numbered registers "0 to "9 3. The small delete register "- 4. 26 named registers "a to "z or "A to "Z 5. four read-only registers ":, "., "% and "# 6. the expression register "= 7. The selection and drop registers "*, "+ and "~ 8. The black hole register "_ 9. Last search pattern register "/

1.无名(unnamed)寄存器:"",缓存最后一次操作内容;

2.数字(numbered)寄存器:"0 ~"9,缓存最近操作内容,复制与删除有别, "0寄存器缓存最近一次复制的内容,"1-"9缓存最近9次删除内容

3.行内删除(small delete)寄存器:"-,缓存行内删除内容;

4.具名(named)寄存器:"a ~ "z或"A - "0Z,指定时可用;

5.只读(read-only)寄存器:":,".,"%,"#,分别缓存最近命令、最近插入文本、当前文件名、当前交替文件名;

6.表达式(expression)寄存器:"=,只读,用于执行表达式命令;

7.选择及拖拽(selection and drop)寄存器:"*,"+,"~,存取GUI选择文本,可用于与外部应用交互,使用前提为系统剪切板(clipboard)可用;

8.黑洞(black hole)寄存器:"_,不缓存操作内容(干净删除);

9.模式寄存器(last search pattern):"/,缓存最近的搜索模式。

至于每个寄存器更加具体的使用方法,我希望大家能查询手册,毕竟,这篇文章重点不在寄存器,可能哪天会写一篇小记讲讲寄存器吧

基本操作

聊聊寄存器的基本操作把

现在输入命令,你就可以查询一下目前寄存器的情况

  1. :reg  

寄存器的使用方法也很简单:通过“ 加上 寄存器名,就可以访问特定的寄存器:

  1. "ap      粘贴字母a寄存器内容  
  2. "1y      把选取内容复制到数字寄存器1  

系统剪贴板

细心的人已经发现我重点标注的寄存器部分了,就是那个选择及拖拽寄存器,这就是系统的剪贴板,我们通常使用的ctrl+c  ctrl+v 的内容就保存在这个寄存器中,所以你要把需要复制的内容放在+寄存器中,就可以在gui界面中用粘贴或ctrl+v粘贴了,同理,粘贴在vim中也一样

  1. "+y    复制到系统剪贴板  
  2. "+p    粘贴  
  3. "+gp  粘贴并且移动光标到粘贴内容后  

但是光是输入命令"+p就已经让人觉得很麻烦了,这时候,vim的map功能就又可以大显神通了,我们只需要把“+y  和 ”+gp  map到你喜欢的快捷键上即可:

首先打开vimrc(如果没有,请创建一个)

  1. vim ~/.vimrc  

然后在其中输入:

  1. nmap <c-v> "+gp  
  2. nmap <c-c> "+y  

你现在就可以使用ctrl+c  和ctrl+v 了,但是!我本人是不推荐用这个快捷键的,因为本身<c-v>是我很常用的块命令

所以,我一般修改成:

  1. nmap <leader>v "+gp  
  2. nmap <leader>c "+y  

至于<leader>是什么按键,就可以按照你的喜好来拉,我的是','

  1. let mapleader=","  

ps.说一下,我用的是nmap,说明这个命令只有在normal情况下才生效,在insert模式下是不生效的,为什么要这样设置呢?因为有时候你确实需要输入<leader>c/v的内容,比如,c  ,v ,而且,vim主要操作我觉得还是应该在normal模式下,这才是vim的高效的原因。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
开发必备 | 新手如何快速掌握VSCode编辑器?
描述: VS Code 的全称是 Visual Studio Code,是一款开源的、免费的、跨平台的、高性能的、轻量级的代码编辑器。它在性能、语言支持、开源社区方面,都做得很不错。
全栈工程师修炼指南
2023/10/31
9790
开发必备 | 新手如何快速掌握VSCode编辑器?
测试makedown
删除线 删除线(开启识别HTML标签时) 斜体字 斜体字 粗体 粗体 粗斜体 粗斜体
JuneBao
2022/10/26
4860
测试makedown
欢迎使用 Markdown在线编辑器 MdEditor
Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。它允许人们使用易读易写的纯文本格式编写文档,然后转换成格式丰富的HTML页面,Markdown文件的后缀名便是“.md”
ZC.TigerRoot
2020/04/30
3K0
Typora Markdown 语法
当前许多网站都广泛使用 Markdown 来撰写帮助文档或是用于论坛上发表消息。例如:GitHub、简书、reddit、Diaspora、Stack Exchange、OpenStreetMap 、SourceForge等。
框架师
2021/03/08
2.9K0
Typora Markdown 语法
超级文本编辑器Sublime Text3「建议收藏」
Sublime Text3是一个超强的文本编辑工具,跨平台(Windows、Linux、Mac);几乎你需要的功能都有,一切可修改(快捷键、插件包etc.);界面优美;可惜的是不开源,不过即使不注册也可以使用。Lime Text是其开源版的一种实现,我还没打算用这个。
全栈程序员站长
2022/09/02
2.8K0
超级文本编辑器Sublime Text3「建议收藏」
[译]27个Jupyter Notebook小提示与技巧
Jupyter notebook, 前身是 IPython notebook, 它是一个非常灵活的工具,有助于帮助你构建很多可读的分析,你可以在里面同时保留代码,图片,评论,公式和绘制的图像。
用户1558438
2018/08/23
1.6K0
数据科学工具 Jupyter Notebook教程 in Python
摘要总结:本文介绍了基于Plotly的Web可视化框架的应用和代码示例,包括折线图、散点图、箱线图、热力图、条形图、瀑布流、地图、交互式图表等。此外,还介绍了如何利用Python的Numpy和Pandas库进行数据处理和分析,以及如何通过Python的Plotly库创建交互式图表。本文还介绍了如何将Plotly嵌入到Web应用程序中,并分享了多个Python代码示例和Jupyter Notebook页面。
张耀琦
2017/09/21
5.7K0
数据科学工具 Jupyter Notebook教程 in Python
关于 R Markdown 的一些 tips
在 YAML 文件中用 number_sections: TRUE 参数设置自动编号:
生信菜鸟团
2020/03/30
1.9K0
Jupyter notebook使用技巧大全
Jupyter Notebook是一款开源的web应用,它允许使用者创建和分享包含代码,公式,可视化图表和纯文本的文档,并支持多种编程语言的交互式计算,对于python用户来讲更是一款十分方便的代码编写工具。只需要通过web浏览器就可以很方便地进行数据清洗和转换,数值模拟,统计建模,数据可视化,机器学习等。本文主要介绍Jupyter Notebook结合python的使用。
超哥的杂货铺
2019/12/18
2.1K0
Jupyter notebook使用技巧大全
【3】jupyter notebook【修改主题、字体、字号、代码自动补全、变更工作目录、添加目录插件、解决工具栏隐藏问题、修改默认浏览器、默认打开位置】
1.jupyter notebook 修改主题、字体字号等设置 github链接地址:https://codechina.csdn.net/mirrors/dunovank/jupyter-theme
汀丶人工智能
2022/12/21
1.8K0
【3】jupyter notebook【修改主题、字体、字号、代码自动补全、变更工作目录、添加目录插件、解决工具栏隐藏问题、修改默认浏览器、默认打开位置】
十五分钟让你快速学习Markdown语法到精通排版实践
描述: Markdown 是一种轻量级标记语言于2004年推出,创始人为约翰·格鲁伯(John Gruber)。 它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的 XHTML(或者HTML)文档。
全栈工程师修炼指南
2022/09/29
2.5K0
linux 命令中英文对照,收集
听说markdown排版得用浏览器打开,点击最下面的阅读原文也可以! Is Linux CLI case-sensitive? The answer is, yes. If you try to ru
生信技能树
2018/03/05
2.2K0
1.5w字的Rmarkdown入门教程汇总
Rmarkdown 是 R 语言环境中提供的 markdown 编辑工具,运用 rmarkdown 撰写文章,既可以像一般的 markdown 编辑器一样编辑文本,也可以在 rmarkdown 中插入代码块,并将代码运行结果输出在 markdown 里。R Markdown 格式,简称为 Rmd 格式, 相应的源文件扩展名为.Rmd。输出格式可以是 HTML、docx、pdf、beamer 等。
庄闪闪
2021/04/08
9K0
Dinosaurus_Island_Character_level_language_model_final_v3b
Welcome to Dinosaurus Island! 65 million years ago, dinosaurs existed, and in this assignment they are back. You are in charge of a special task. Leading biology researchers are creating new breeds of dinosaurs and bringing them to life on earth, and your job is to give names to these dinosaurs. If a dinosaur does not like its name, it might go berserk, so choose wisely!
列夫托尔斯昊
2020/08/25
2.4K0
Dinosaurus_Island_Character_level_language_model_final_v3b
ARM 之七 主流编译器(armcc、iar、gcc for arm、LLVM(clang))详细介绍[通俗易懂]
  在讲解各编译器之前,必须先了解一下以下这些文件。这些文件在编译器目录下或者编译生成目标平台的可执行程序时经常见到。此外,还需要注意区分 Windows 平台 和 Linux 平台的文件。
全栈程序员站长
2022/06/28
16.8K0
ARM 之七 主流编译器(armcc、iar、gcc for arm、LLVM(clang))详细介绍[通俗易懂]
pandoc
前言 Pandoc 是一个开源的文档转换工具 If you need to convert files from one markup format into another, pandoc is your swiss-army knife Pandoc 可以很方便地将文档在主流的文档格式间转化 下面分享一下 Pandoc 的基础安装操作 参考 Installing pandoc Tip: 当前版本 pandoc 2.1 环境 [root@C7-x64 ~]# hostnamectl Static h
franket
2021/08/12
6120
第二十二章 : 格式化输出
In this chapter, we continue our look at text related tools, focusing on programs that areused to format text output, rather than changing the text itself. These tools are often usedto prepare text for eventual printing, a subject that we will cover in the next chapter. Theprograms that we will cover in this chapter include:
砖业洋__
2023/05/06
2980
leveldb介绍「建议收藏」
The leveldb library provides a persistent key value store. Keys and values are arbitrary byte arrays. The keys are ordered within the key value store according to a user-specified comparator function.
全栈程序员站长
2022/07/22
8540
docsify的配置+全插件列表
本篇文章来自好友肥子哥,原文连接:https://xhhdd.cc/index.php/archives/80/
星橙
2022/11/28
8.2K2
docsify的配置+全插件列表
github pages + Hexo + 域名绑定搭建个人博客增强版
概述 前面我们用github pages + Hexo 搭建了一个简单版的个人博客系统,但是里面的内容单调,很多功能不够完善,所以我们需要对yelle 的主题进行优化和完善。基本搭建请访问:http://blog.csdn.net/xiangzhihong8/article/details/53355036 主题配置介绍 从中我们也可以看出,对于主题来讲,大部分可以配置的地方其实都是在这里的。所以我们需要了解一个基本的主题样式。 duoshuo,如果你是打算采用多说评论系统的话,你需要设置这里,但是我个人对
xiangzhihong
2018/02/05
1.4K0
github pages + Hexo + 域名绑定搭建个人博客增强版
推荐阅读
相关推荐
开发必备 | 新手如何快速掌握VSCode编辑器?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档