1、复制

1)单行复制

在命令模式下,将光标移动到将要复制的行处,按“yy”进行复制;

2)多行复制 在命令模式下,将光标移动到将要复制的首行处,按“nyy”复制n行;其中n为1、2、3……

【yy】 复制光标所在的那一行
【nyy】 复制光标所在的向下n行

2、粘贴

在命令模式下,将光标移动到将要粘贴的行处,按“p”进行粘贴

【p,P】 p为将已经复制的数据在光标下一行粘贴;P为将已经复制的数据在光标上一行粘贴

3、删除

删除一行:dd

删除一个单词/光标之后的单词剩余部分:dw

删除当前字符:x

光标之后的该行部分:d$

文本删除

dd 删除一行

d$ 删除以当前字符开始的一行字符

ndd 删除以当前行开始的n行

dw 删除以当前字符开始的一个字

ndw 删除以当前字符开始的n个字

4、查找

【/word】 在文件中查找内容为word的字符串(向下查找)
【?word】 在文件中查找内容为word的字符串(向上查找)
【[n]】 表示重复查找动作,即查找下一个
【[N]】 反向查找下一个

搜索后,我们打开别的文件,发现也被高亮了,怎么关闭高亮?

命令模式下,输入:nohlsearch  也可以:set nohlsearch; 当然,可以简写,noh或者set noh。

5、设置行号

如果编辑后,又想显示行号,同样操作按一下esc键,并输入:(冒号),输入set number    ,并按回车键,完成后即显示行号

6、跳到指定行

在知道所查找的内容在文件中的具体位置时可以使用以下命令直接定位:
跳到文件指定行:比如跳到66行

66+G(也就是66+shift+g)
当然你可以选择另一种跳转方式:

命令行输入“ : n ” 然后回车
跳到文件第一行:gg (两个小写的G)

跳到文件最后一行:shift+g (也就是G)
7、文件上下翻转

页翻转可以直接使用PgUp和PgDn

向前滚动一屏:Ctrl+F

向后滚动一屏:Ctrl+B

向前滚动半屏:Ctrl+D(向下)

向后滚动半屏:Ctrl+U(向上)

向下滚动一行,保持当前光标不动:Ctrl+E

向上滚动一行,保持当前光标不动:Ctrl+Y

当前行滚动:
当前行移动到屏幕顶部并滚动:Z+Enter
滚动指定行到屏幕顶部: 10Z+Enter(指定第十行)
当前行移动到屏幕中央并滚动:Z + .
当前行移动到屏幕底部并滚动:Z + -
当前屏幕操作:
H:大写h,移动到当前屏幕首行;nH移动到首行下的第n行
M:大写m,移动到当前屏幕中间行
L:大写l,移动到当前屏幕末行;nL移动到末行上面的第n行
8、撤销上一步操作

【u】 撤消上一个操作
【[Ctrl] + r】 多次撤消
【.】 这是小数点键,重复上一个操作

缩进:

插入模式下,ctrl+shift+d 减少缩进,ctrl+shift+t 增加缩进

9、vim编辑

1、进入插入模式(6个命令)
【i】 从目前光标所在处插入
【I】 从目前光标
【a】 从当前光标所在的下一个字符处开始插入
【A】 从光标所在行的最后一个字符处开始插入
【o】 英文小写字母o,在目前光标所在行的下一行处插入新的一行并开始插入
【O】 英文大写字母O,在目前光标所在行的上一行处插入新的一行并开始插入

2、进入替换模式(2个命令)
【r】 只会替换光标所在的那一个字符一次
【R】 会一直替换光标所在字符,直到按下[ESC]键为止
【[ESC]】 退出编辑模式回到一般模式

3、一般模式切换到命令行模式
【:w】 保存文件
【:w!】 若文件为只读,强制保存文件
【:q】 离开vi
【:q!】 不保存强制离开vi
【:wq】 保存后离开
【:wq!】 强制保存后离开
【:! command】 暂时离开vi到命令行下执行一个命令后的显示结果
【:set nu】 显示行号
【:set nonu】 取消显示行号
【:w newfile】 另存为
【:set fileencoding】 查看当前文件编码格式
【:set fileencoding=utf-8】 设置当前文件编码格式为utf-8,也可以设置成其他编码格式
【:set fileformat】 查看当前文件的断行格式(dos\windows,unix或macintosh)
【:set fileformat=unix】 将当前文件的断行格式设置为unix格式

10、多窗口功能
【:sp [filename]】 打开一个新窗口,显示新文件,若只输入:sp,则两窗口显示同一个文件
【[Ctrl] + w + j】 光标移动到下方窗口
【[Ctrl] + w + k】 光标移动到上方窗口
【[Ctrl] + w + q】 离开当前窗口

11、缩进

批量缩进

在程序代码界面,按esc,退出编辑模式,到命令模式,并在英语输入法下输入“:”

将所要批量缩进的行号写上,按照格式:“行号1,行号2>”输入命令,如要将2至9行批量缩进一个tab值,则命令为“2,9>”

输入完毕后,按回车可以执行,就可以看到2至9行全部缩进了一个tab值了,同样的,如果要缩回来一个tab值,则用命令“行号1,行号2<”即可

可视模式缩进

方法二是在可视模式下选择要移动的列,操作为,esc从编辑模式退到命令模式,将光标移到需要缩进的行的行首,然后按shift+v,可以看到该行已被选中,且左下角提示为“可视”

此时,按键盘上的上下左右方向键,如这里按向下的箭头,选中所有需要批量缩进的行

选择好了之后,按shift+>,是向前缩进一个tab值,按shift+<,则是缩回一个tab值,

参考:https://www.cnblogs.com/h-c-g/p/11122899.html

VIM快捷键操作(复制/粘贴/删除/查找/跳转/撤销)相关推荐

  1. Ubuntu vim界面的复制粘贴操作

    Ubuntu vim界面的复制粘贴操作 首先使用鼠标复制要粘贴的内容,按键盘上的ctrl+insert键, 然后vim(vi)打开一个文件,按键盘上的shift+insert键进行粘贴. 参考: ht ...

  2. 必须熟悉的vim快捷键操作

    转载请表明出处http://www.dabu.info/?p=801 Vim/Vi 没有菜单,只有命令 Vim/Vi 工作模式介绍: 插入模式 和  命令模式 是vi的两个基本模式. --插入模式 , ...

  3. vi/vim的选中/复制/粘贴命令

    原文: https://www.cnblogs.com/GlassHour/p/5503973.html GlassHour vi/vim的选中/复制/粘贴命令 选自http://blog.csdn. ...

  4. 在vim中快速复制粘贴多行

    在vim中快速复制粘贴多行 用vim写代码时,经常遇到这样的场景,复制多行,然后粘贴.  这样做: 1. 将光标移动到要复制的文本开始的地方,按v进入可视模式. 2. 将光标移动到要复制的文本的结束的 ...

  5. ubuntu配置阿里源 vim全选复制粘贴

    1.先备份原始的源 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak 2.编辑原列表文件 sudo vim /etc/apt/source ...

  6. Kettle使用_14 文件操作复制移动删除结合JS

    Kettle使用_14 文件操作复制移动删除结合JS 需求: 通过Kettle的组件实现文件夹下所有文件的复制和重命名. 比如:将文件名1快乐成语001[持之以恒].mp3 重命名为001持之以恒.m ...

  7. vim快捷键之复制(yy)+粘贴(p)+删除(dd)+撤销(u)+恢复(ctrl + r)大法

    vim快捷键 复制yy 粘贴p 删除dd 撤销u 恢复ctrl + r

  8. Mac OS开发—Xcode给Mac应用添加编辑快捷键(剪切 复制 粘贴 全选 删除 撤销 重做)功能

    前言 笔者做Windows开发的,无奈公司有Mac OS的项目需要维护,之前没有编辑菜单的功能,需要笔者加上这个功能,笔者只能硬着头皮上.还好会c++,Mac应用里面一般都会用object-c 也可以 ...

  9. 精心收集的必须熟悉的vim快捷键操作

    转载自:http://www.dabu.info/vim-shortcut-key-operation.html Vim/Vi 没有菜单,只有命令 Vim/Vi 工作模式介绍: 插入模式 和  命令模 ...

最新文章

  1. 2-4 zookeeper配置文件介绍,运行zk
  2. .h 与.hpp文件的区别
  3. 多线程还是多进程的选择及区别
  4. C++ Primer 5th笔记(chap 17 标准库特殊设施)正则表达式
  5. windows API函数copyfile
  6. LeetCode 1154. 一年中的第几天
  7. Spark 学习(十一) spark使用hive的元数据信息
  8. 交际能力弱的人,适合当律师吗?
  9. 人群与网络:社会选择与社会影响
  10. M1 Mac 是否入手,先了解这些常用软件兼容性!!
  11. ONVIF协议基础概念
  12. CAD 绘图如何有效的控制精度?
  13. 3dmax渲染软件有哪些?哪个好用
  14. excel文件无法打印提示内存不足_Mac应用程序无法打开提示不明开发者或文件损坏的处理方法
  15. 红牛整装待发,功能饮料市场地位不可撼动
  16. Exsi上ubuntu虚拟机显卡tesla p100 驱动和cuda踩坑。
  17. 《那些年啊,那些事——一个程序员的奋斗史》——43
  18. vite以及webpack(@vue/cli 5.x) vue3 alias别名配置
  19. swaks伪造钓鱼邮件
  20. 不出千元!打造耐用、高效SCSI硬盘系统(转)

热门文章

  1. 【个人开发】通过企业微信实现消息推送到个人微信
  2. ERROR:can’t read “File Watch(fileName)”:no such element in array
  3. ant design vue input change_ElementUI 不维护了?供我们选择的 Vue 组件库还有很多!
  4. mysql中通过sql语句查询指定数据表的字段信息
  5. 操作简单易上手 人性化系统让OPPO R11s用着更省心
  6. 如何获取搜索引擎的来源,以及搜索引擎的相关信息
  7. OLED 4K与QLED 8K的彩电之争: 时代、消费者的选择
  8. 微信小程序 点击轮播图跳转到微信公众号文章
  9. CTF杂项题基础(1.文件识别与分离及图片隐写)
  10. 设计师必读的九本书_设计师必读:不要让我重新思考