当前位置: 首页 > news >正文

VIM的一些常指令和用法

学习一下别人的经验。

ReStart & Stop

CTRL+S表示停止向终端停止输出;  (不响应按键信息)

CTRL+Q恢复向终端输出流

Search

实现快速查找 最快的方式:让光标停留在想要查找的单词的任意一个字母上, 然后Shift + *  ,即可快速选中该单词,并且可以通过 n  或  N 进行上一个或下一个的匹配。

Copy & Paste

vim怎样进行块复制_wupengqiangqinli的博客-CSDN博客_vim 块复制

1. 选定文本块。使用v进入可视模式,移动光标键选定内容。 
ctrl+v  是块选择,与v有点不同

2.复制的命令是y,即yank(提起) ,常用的命令如下: 
    y      在使用v模式选定了某一块的时候,复制选定块到缓冲区用; 
    yy    复制整行(nyy或者yny ,复制n行,n为数字); 
    y^   复制当前到行头的内容; 
    y$    复制当前到行尾的内容; 
    yw   复制一个word (nyw或者ynw,复制n个word,n为数字); 
    yG    复制至档尾(nyG或者ynG,复制到第n行,例如1yG或者y1G,复制到档尾)  
    
3. 剪切的命令是d,即delete,d与y命令基本类似,所以两个命令用法一样,包括含有数字的用法.  
    d      剪切选定块到缓冲区; 
    dd    剪切整行 
    d^    剪切至行首 
    d$     剪切至行尾 
    dw    剪切一个word 
    dG     剪切至档尾  
    
4. 粘贴的命令式p,即put(放下) 
    p      小写p代表贴至游标后(下),因为游标是在具体字符的位置上,所以实际是在该字符的后面 
    P      大写P代表贴至游标前(上) 
    整行的复制粘贴在游标的上(下)一行,非整行的复制则是粘贴在游标的前(后)

注: 
     在正则表达式中,^表示匹配字符串的开始位置,$表示匹配字符串的结束位置。 
     命令前面加数字表示重复的次数,加字母表示使用的缓冲区名称。使用英文句号"."可以重复上一个命令。 
     在复制粘贴时,另一组常用的命令是u(撤销操作),U(撤销某一行最近所有修改),Ctrl+R(重做),这些功能主要是vim中的,vi中略有差别

关于vim复制剪贴粘贴命令的总结 - maowang - 博客园http://www.cnblogs.com/maowang1991/p/3371640.html最近在使用vim,感觉很好很强大,但是在使用复制剪切粘贴命令是,碰到了一些小困惑,网上找了一些资料感觉很不全,讲的也不好,遂自己进行实践并总结了。

首先是剪切(删除):

剪切其实也就顺带删除了所选择的内容,所以既可以当剪切命令用,也可以当删除命令使用。

 1 首先,可以在命令模式下输入v进入自由选取模式,选择需要剪切的文字后,按下d就可以进行剪切了。
 2 其他命令模式下剪切命令:
 3 dd:剪切当前行
 4 ndd:n表示大于1的数字,剪切n行
 5 dw:从光标处剪切至一个单子/单词的末尾,包括空格
 6 de:从光标处剪切至一个单子/单词的末尾,不包括空格
 7 d$:从当前光标剪切到行末
 8 d0:从当前光标位置(不包括光标位置)剪切之行首
 9 d3l:从光标位置(包括光标位置)向右剪切3个字符
10 d5G:将当前行(包括当前行)至第5行(不包括它)剪切
11 d3B:从当前光标位置(不包括光标位置)反向剪切3个单词
12 dH:剪切从当前行至所显示屏幕顶行的全部行
13 dM:剪切从当前行至命令M所指定行的全部行
14 dL:剪切从当前行至所显示屏幕底的全部行

自己实践时,还发现,单独按d键,是剪切2行,按下nd,是剪切n+1行,不过一般使用还是推荐使用双d(即dd)来执行。

对于复制命令,和剪切命令大体相似,就是把相应的d换成y即可:

首先,可以在命令模式下输入v进入自由选取模式,选择需要剪切的文字后,按下d就可以进行剪切了。
其他命令模式下剪切命令:
yy:复制当前行
nyy:n表示大于1的数字,复制n行
yw:从光标处复制至一个单子/单词的末尾,包括空格
ye:从光标处复制至一个单子/单词的末尾,不包括空格
y$:从当前光标复制到行末
y0:从当前光标位置(不包括光标位置)复制之行首
y3l:从光标位置(包括光标位置)向右复制3个字符
y5G:将当前行(包括当前行)至第5行(不包括它)复制
y3B:从当前光标位置(不包括光标位置)反向复制3个单词

单独按y是复制2行,ny是复制n+1行

至于粘贴命令最简单,在需要粘贴的光标处按下p即可。

相关文章:

  • 如何自定义FileZilla编辑文件的默认打开方式
  • 如何在 Ubuntu 和其它 Linux 发行版中更改时区
  • OpenVINO: export failure: libpython3.9.so.1.0: cannot open shared object file: No such file or direc
  • udev规则以及编写
  • ROS + UDEV管理开源小车rikirobot的USB设备
  • (ros//EnvironmentVariables)ros环境变量
  • ROS移植机器人小车:小车主机与从机电脑的通信
  • Linux查看版本和系统信息
  • ROS移植机器人小车: rikirobot试运行
  • Linux+Grub启动引导修复错误:Gnu Grub Version 2.04 Minimal BASH-like editing is supported...
  • Ubuntu下安装指定版本的cmake包
  • Ubuntu20.04编译安装Opencv4.5.5安装包报错:Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR)
  • Ubuntu20.04编译安装Opencv4.5.5
  • Linux如何查看内核版本并安装内核头文件linux-headers-generic
  • Linux中如何安装特定的gcc版本
  • 时间复杂度分析经典问题——最大子序列和
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • 【跃迁之路】【519天】程序员高效学习方法论探索系列(实验阶段276-2018.07.09)...
  • 78. Subsets
  • ERLANG 网工修炼笔记 ---- UDP
  • Hibernate最全面试题
  • iOS 颜色设置看我就够了
  • java第三方包学习之lombok
  • Java读取Properties文件的六种方法
  • Mysql优化
  • node.js
  • node学习系列之简单文件上传
  • python 学习笔记 - Queue Pipes,进程间通讯
  • 从零开始的无人驾驶 1
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 多线程事务回滚
  • 聊一聊前端的监控
  • 前端存储 - localStorage
  • 使用Gradle第一次构建Java程序
  • 自制字幕遮挡器
  • 教程:使用iPhone相机和openCV来完成3D重建(第一部分) ...
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • #define,static,const,三种常量的区别
  • (02)Hive SQL编译成MapReduce任务的过程
  • (4)(4.6) Triducer
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (Java)【深基9.例1】选举学生会
  • (笔试题)合法字符串
  • (区间dp) (经典例题) 石子合并
  • (十一)图像的罗伯特梯度锐化
  • (转)为C# Windows服务添加安装程序
  • (轉貼) VS2005 快捷键 (初級) (.NET) (Visual Studio)
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)
  • ***通过什么方式***网吧
  • .NET CF命令行调试器MDbg入门(一)
  • .Net Core和.Net Standard直观理解
  • .NET 事件模型教程(二)
  • .NET企业级应用架构设计系列之结尾篇
  • .NET委托:一个关于C#的睡前故事