`
lantian_123
  • 浏览: 1360196 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

每日一Vim(8)寄存器

 
阅读更多

每日一Vim(8)---Vim寄存器

先抛出一个问题:每次打开Vim,想找一段文本来练练手,于是打开网页copy了一段,问题来了,怎样粘贴到vim的编辑器里头去呢?如果你还在CTRL+v的话,说明你还无法割舍Windows,就像东方姑娘忘不了令狐冲):这里暂且告诉你如何粘贴:SHIFT+INSERT 两个键联合起来。再来看下面的原理 

寄存器是Vim用来存储文件的临时空间,当使用命令y(yank)或d(delete)复制删除文本时,该文本就会被保存在寄存器中,通过p(put)命令插入刚删除或复制的内容。vim的寄存器分为不同的种类:

数字寄存器:

在normal模式下输入:reg,您是否看到很多“(双引号)开头的数字了呢,这些都是寄存器,(如果暂时没看到,那么在对文本做几个操作,比如:dd,yy等),这些寄存器里保存了最近删除的和复制的文本。

数字寄存器有十个,分别是:"0,"1,"2... "9(注意:数字前有个双引号),寄存器"0保存上一次复制(y)操作的文本,"1到"9寄存器保存最近9次删除的文本行(注意这个“行”字),"1保存的内容是最最近一次删除的内容(也就是说最后一次执行删除命令保存的内容)"2保存的是倒数第二次删除的内容,依此类推,直到"9,如果又有新的操作,那么"9的内容将会被"8的内容替换,先前”9的内容将被丢弃。 

那么p(put)命令粘贴是哪个寄存器中的内容呢?有时候是粘贴的是"1寄存器的,有时粘贴的是"0寄存器中的,但是总的原则就是粘贴最近一次删除或者复制的内容,如果删除是最近的一次,就是粘贴"1的,也就是粘贴刚刚删除的文本,如果复制是最近的一次操作,那么粘贴的内容是"0中的,也就是粘贴刚刚复制的内容。

字母寄存器:

"a,"b,"c...都是字母寄存器,也许你执行:reg的时候看不到这些命令,不要紧,稍后就有了。之前粘贴我们用的都是p命令,如果我想粘贴其他寄存器里面的内容呢,你想到了吗?答案就是:寄存器的名称+p。现在我们新建一个字母寄存器,把当前三行保存到"a寄存器中去,具体操作如下:在normal模式下输入"a3yy,这样当前三行就保存在"a中去了,粘贴同样在normal模式下,"3p 即可。如果是大写字母的寄存器,如执行:"Cdd:他的作用是把当前行删除,再把内容追加到"c寄存器中,也就是说字母寄存器没有大写之分,只是功能上有区别,大写就是追加,小写是替换

其他寄存器:

"":无名寄存器,p命令粘贴的内容,保存最近一次删除或复制的内容。
“-:(-是个减号)小删除寄存器(small delete register),前面说过要您注意这个”行“字,也就是说并不是所有删除的文本都会保存在数字寄存器中,如果你删除的只是一个单词或字母: dw或者x,那么这个单词并不会保存在"1寄存器中,而是保存在"-寄存器里面。所有不包含换行符的删除都会保存在此寄存器中。

"* :这个就是系统寄存器喽,最开始的问题的第二个答案知道了吧 

当然还有一些寄存器,这里就不一一介绍了。

 

 

转载请注明出处,谢谢合作,作者----zhijun

1
0
分享到:
评论
4 楼 lantian_123 2013-03-19  
@kidneyball 总结很到位,攒
3 楼 kidneyball 2013-03-19  
lantian_123 写道
isensen 写道
这个实用多吗?

个人觉得挺有用的,至少对寄存器的基本原理有了初步的了解


寄存器常用的是*,0 和 “, 搞清楚这三个可以应付普通的复制粘贴操作了。 a-z这26个寄存器主要在定义宏的时候用。

p是粘贴到光标之后,shift+p (大写P)是粘贴到光标之前, 在普通模式下如果要粘贴一行的最前面只能用shift+p

在插入模式下粘贴是ctrl+r 再加 寄存器名称(不要前面的双引号)。例如插入文字时想粘贴系统粘贴板的内容,就是 ctrl+r *
2 楼 lantian_123 2013-03-18  
isensen 写道
这个实用多吗?

个人觉得挺有用的,至少对寄存器的基本原理有了初步的了解
1 楼 isensen 2013-03-18  
这个实用多吗?

相关推荐

    vim寄存器的使用

    在数据库中插入数据数据是很普遍的事儿,但是大量的数据插入我们就会想到插到一半会不会断了 万一断了会怎么办 这个技巧是可以设置每隔多少行加一个commit

    galvanize.vim:编辑vim寄存器作为缓冲区

    galvanize.vim 不推荐使用此存储库,而推荐使用 。 Buffest的越野车少,支持vim更好(相对于neovim),等等。 该插件创建代表寄存器的缓冲区。 它们在寄存器更新时实时更新,并且可以进行编辑以修改寄存器。 寄存器...

    windows版本VIM8

    gVim是著名文本编辑器的windows版本,标准的windows风格的图形界面,会根据安装的平台自动选择相应语言包,支持中文及其各种编码,连界面也是中文的,请放心...最新版本的vim,开发利器,学会一种,可以适应各种平台

    vim8配置成强大的IDE

    使用本文件可以把vim配置成强大的IDE,但是必须使用VIM8.0以上的版本。首先将本文件内容copy到~/.vimrc里,如果没有该文件需要创建;其次git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/...

    nvim-peekup:nvim插件,显示vim寄存器的内容

    nvim-peekup 最终,vim寄存器变得轻松有趣! 不再为繁琐的按键操作而烦恼"<register>p ,不再忘记被拖拽的文本在哪里:窥视浮动窗口中的vim寄存器,然后使用nvim-peekup拾取想要的文本!安装使用您最喜欢的插件管理...

    vim8:挑战IDE极限屌爆TnT.pdf

    vim8:挑战IDE极限屌爆TnT.pdf

    Mastering Vim Build a software development environment with Vim and Neovim

    8: TRANSCENDING THE MUNDANE WITH VIMSCRIPT 9: NEOVIM 10: WHERE TO GO FROM HERE What You Will Learn Get the most recent Vim, GVim, and Neovim versions installed Become efficient at navigating and ...

    Vim用户手册中文版7.3.pdf.zip_vim 7

    使用 Vim 更多的是一种技能而 不是一种知识,Vim 的学习更需要的不是头脑而是双手,经常按书中的指示 进行示例性的操作,在学习 Vim 众多精致的技巧时,不要贪图一下子全都 掌握,最好是看一条技巧后,马上在编辑器...

    Vim 8.2 PDF 中文参考手册(最新)

    Vim 8.2 PDF 中文参考手册(最新)

    Centos7如何编译安装vim8.doc

    Vim是Vi编辑器的一个很大的改进版本,增加了很多新特性:多级撤销、语法高亮、命令行历史记录、在线帮助、拼写检查、文件名补全、块操作、脚本语言等等。

    VIM快捷键 VIM插件

    VIM快捷键 VIM快捷键 VIM插件 VIM快捷键 VIM插件

    gina.vim, 在 neovim/vim 8中,异步控制git存储库.zip

    gina.vim, 在 neovim/vim 8中,异步控制git存储库 gina.vim ( 吉娜) 是一个异步控制git仓库的插件。插件是基于 lambdalisue/vim-gita的成功而开发的。 因此 gina.vim 拥有 vim-gita的大部分优秀

    Vim实用技巧电子书

    vim是一款功能丰富而强大的文本编辑器,其代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中得到非常广泛的使用。vim能够大大提高程序员的工作效率。对于vim高手来说,vim能以与思考同步的速度编辑文本...

    vim中文手册 vim中文手册 vim中文手册

    vim中文手册 vim中文手册 vim中文手册 vim中文手册 vim中文手册 vim中文手册 vim中文手册vim中文手册vim中文手册

    vim8文本处理实验代码文件

    B11044_Code.zip

    vim8-pack:一些简单的工具,用于维护和更新基于git的vim 8软件包

    vim8包装 一些简单的工具可以为vim 8维护和更新基于git的软件包。目前,该工具用于管理为vim 7和更早版本设计的软件包。 这是因为我尚未找到正确符合vim8软件包标准的软件包。 我打算使用用于处理vim8兼容软件包的...

    vim plugin vim changes to ide update

    add wintagexplorer.vim , echofunc.vim , vimrc

    vim设置20130906, 适合编程爱好者

    "vimshell.vim, vim中使用shell, 最好一款 source ~/.vim/bundle/vimshell/conf.vim "omnicppcomplete.vim source ~/.vim/bundle/omnicppcomplete/conf.vim "code_complete.vim source ~/.vim/bundle/code_...

    Centos7 安装vim8+YouComplete

    适用场景Centos7 用于vim代码补齐,python,c++,java等 资源介绍:脚本简单,一眼就可看懂,安装文件目录清晰 YouComplete使用本人网盘下载,避免了官网下载不全的坑

Global site tag (gtag.js) - Google Analytics