寄存器

:reg

查看当前各个寄存器中的内容

vim中没有所谓删除,实际上都是剪切,黑洞寄存器除外

无名寄存器(”“)

x、s、d{motion}、c{motion}和y{motion}指令都会覆盖无名寄存器中的内容

复制专用寄存器(”0)

使用y{motion}指令时,复制的数据不仅会保存到无名寄存器中,还会在复制专用寄存器值保留一份。

使用:普通模式下"0p,插入模式下<C-r>0

有名寄存器(”a-“z)

vim提供了一组一26个英文字母命名的有名寄存器

content,当前光标在t位置上,使用"ayiw可以复制到a寄存器中

如果换成大写字母引用的有名寄存器的话,表示对与之对应的小写有名寄存器的内容上的追加

例如:insurance,执行"Ayiw,再执行:reg查看寄存器中的内容,可以看到a寄存器中的内容变成了content insurance

黑洞寄存器(“_)

执行"_d{motion}表示vim将删除该文本

系统剪贴板(“+)与选择专用寄存器(“*)

在外部程序中用剪切或复制获取的文本可以通过"+p(插入模式下用<C-r>+)粘贴到vim内部中。相反地,如果再vim中复制或剪切指令想在外部程序使用,可以在之前加入"+

鉴于Windows与Mac OS X操作系统没有主剪贴板的概念,所以"+"*可以混合使用,更推荐使用"+寄存器。

文件

分割窗口

普通命令 Ex命令 用途
<C-w>s :split:sp 水平切割
<C-w>v :vsplit:vsp:vs 垂直切割

窗口切换

命令 用途
<C-w>w 在窗口键循环切换
<C-w>h 切换到左边的窗口
<C-w>j 切换到下边的窗口
<C-w>k 切换到上面的窗口
<C-w>l 切换到右边的窗口

关闭窗口

普通命令 Ex命令 用途
<C-w>c :clo[se] 关闭活动窗口
<C-w>o :on[ly] 只保留活动窗口,关闭其他所有窗口

标签打开及移动

普通命令 Ex命令 用途
:tabe[dit]{filename} 在新标签页中打开{filename}
<C-w>T 把当前窗口移到一个新标签页
:tabc[lose] 关闭当前标签页及其他的所有窗口
:tabo[nly] 只保留活动标签页,关闭所有其他标签页
gt :tabn[ext] 切换到下一标签页
gT :tabp[revious] 切换到上一标签页
{N}gt :tabn[ext]{N} 切换到编号为{N}的标签页

动作命令

实际行和屏幕行间的移动

命令 用途
gj 向下移动一个屏幕行
gk 向上移动一个屏幕行
g0 移动到屏幕行的行首
g^ 移动到屏幕行的行首
g$ 移动到屏幕行的行尾
//下面实际上只有三行,但是因为屏幕宽度不够所以变成了9行,所以9就是屏幕行
1  This is where the devil goes walking, looking with interest in at
the window of Dr. Guillotin, who works night and day to perfect
his humane killing machine, sharpening his angled blade on the
innocent necks of sheep.
2  Little does the earnest doctor know that his new design will be
center stage, a bloody altarpiece in the drama that is about to
unfold.
3  But wait, not so fast. King Louis XVI and his queen, Marie
Antoinette, are still outside Paris, at Versailles.

单词移动

命令 用途
ge 反向移动到上一单词的结尾
W 正向移动到下一字符串的开头
E 正向移动到当前字符串/下一字符串的结尾
B 反向移动到当前字符串/上一字符串的开头

字符查找

命令 用途
f{char} 正向移动到下一{char}所在之处
F{char} 反向移动到下一{char}所在之处
t{char} 正向移动到下一{char}所在之处的前一个字符串(不包含{char})
T{char} 反向移动到下一{char}所在之处的后一个字符串(不包含{char})

1.分隔符文本对象

以a开头的文本对象可以想象成around或者all

文本对象 选择区域
a)或ab 一对圆括号(parentheses)
a}或aB 一对花括号{braces}
a] 一对方括号[brackets]
a> 一对尖括号<angle brackets>
a’ 一对单引号’single quotes’
a” 一对双引号”double quotes”
a` 一对反引号 `backticks`
at 一对XML标签<xml\>tags</xml\>

例子:

<div>click here</div>,执行citContent
变成如下
<div>Content</div>


以i开头的文本对象可以想象成inside,表示只处理文本中里面的
内容,不包括分隔符

文本对象 选择区域
i)或ib 一对圆括号(parentheses)
i}或iB 一对花括号{braces}
i] 一对方括号[brackets]
i> 一对尖括号<angle brackets>
i’ 一对单引号’single quotes’
i” 一对双引号”double quotes”
i` 一对反引号 `backticks`
it 一对XML标签<xml\>tags</xml\>

2.文本块对象

文本对象 选择范围
iw 当前单词
aw 当前单词及一个空格
iW 当前字符串
aW 当前字符串及一个空格
is 当前句子
as 当前句子及一个空格
ip 当前段落
ap 当前段落及一个空行

设置标记

m{a-zA-Z}命令会用选定的字母标记当前光标所在的位置,小写字母只在每个缓存区局部可见,大写则是全局可见,其中跳转标记只是跳转到某一行的某个一位置上,与该位置在哪一个file上无关。
{a-zA-Z}可以跳转到指定的标记处。

普通命令 用途
当前文件中上次跳转动作之前的位置
`. 上次修改的地方
`^ 上次插入的地方
`[ 上次修改或复制的起始位置
`] 上次修改或复制的结束位置
`< 上次高亮选区的起始位置
`> 上次高亮选区的结束位置
gi `^标记回复光标位置,并切换到插入模式(适合用于退出插入模式,接着在文档中四处游走,又想快速回到推出的地方继续编辑)

跳转指令

命令 用途
% 跳转到匹配括号所在之处
(/) 跳转到上一句/下一句的开头
{/} 跳转到上一段/下一段的开头
gf 跳转到光标下的文件名
<C-]> 跳转到匹配当前光标所在的关键字的第一处标签(还可以跳入类内部)
<C-t> 读取上面命令的跳转历史记录(可以理解成后退查找)
<C-i> 单文件中前进一步
g<C-]> <C-]>类似,不过可以跳转到指定位置(关键字存多处匹配)IDE中无法使用

Z指令

命令 用途
zz 将当前行居中
zt 将当前行置顶(top)
zb 将当前行置底(bottom)
ZZ 关闭活动窗口
zo 打开折叠
zc 关闭折叠

插入模式快捷键

命令 用途
<C-h> 删除左边的字符(容易和idea 的查看类继承热键冲突)
<C-y> 复制上方一个字符(打开智能提示的话也容易失效发生奇异的现象)
<C-e> 复制下方一个字符(同上)
<C-w> 删除光标左边的单词
<C-a> 插入上一次插入模式所键入的内容

范围操作

命令 用途
={范围} 将范围内的代码自动缩进
gU{范围} 将范围内的字符转换成大写
gu{范围} 将范围内的字符转化成小写

用次数做简单的算术运算

普通模式下执行简单的算术运算。但是如果光标不在数字上的时候,执行<C-a><C-x>的命令,将在当前行正想查找一个数字,如果找到了,光标就直接跳转到那里。
注:Idea中也能使用

命令 用途
<C-a> 对数字执行加操作
<C-x> 对数字执行减操作

Intellij中vim插件常用指令相关推荐

  1. IntelliJ IDEA 的插件 常用的 idea 好用 idea 插件 以此收藏防丢失

    IntelliJ IDEA 的插件 常用的 idea 好用 idea 插件 以此收藏防丢失 1. AiXcoder Code completer 强烈安利!!! 它以快速的提示代码,修复某些输入错的中 ...

  2. Mac 中 vim 插件配置 —— 以YouCompleteMe 为例

    文章目录 以 YouCompleteMe 为例 初始配置环境 编译 可能遇到的问题 举一反三 后记 博主最新在准备学习 vim 的使用,今天主要在观看一些视频,并记录如何在 MAC 中一点点配置自己的 ...

  3. Sublime编辑器上的 Vim 插件常用快捷键

    vim 的设置: 在Reference-> User Settings(首选项--> 设置用户) 选项,点击进入配置文件编辑状态,默认的用户配置文件是空的.添加如下的内容    " ...

  4. Vim入门-常用指令

    更多在vim在线手册 Vim基本操作 1.1 Vim中的六种基本模式 1.1.1 Vim模式介绍 Vim具有6种基本模式和5种派生模式,我们这里只简单介绍下6种基本模式: · 普通模式(Normal ...

  5. 【精品】Intellij中Emmet插件的使用技巧

    Emmet简述 Emmet (前身为 Zen Coding) 是一个能大幅度提高前端开发效率的一个工具. 在前端开发的过程中,一大部分的工作是写 HTML.CSS 代码.特别是手动编写 HTML 代码 ...

  6. 爱了!Intellij IDEA 自带的 Vim 插件真心不错

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:hsujee.com/2016/01/13/ 在 IDEA ...

  7. 说实话,Intellij IDEA 自带的 Vim 插件真心不错!

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | hsujee.com 在 IDEA Intel ...

  8. vim 寄存器 操作_说实话,Intellij IDEA 自带的 Vim 插件真心不错。。。

    来源:hsujee.com/2016/01/13/ 1. 切换Vim模拟器状态 2. ScrollOff 参数 3. 行号定位 4. 进入修改 5. 范围操作 6. 选择文本 7. 复制粘贴 8.一些 ...

  9. vim 全局替换_有一说一,Intellij IDEA 自带的 Vim 插件真心不错!

    作者:kidneyball 链接:iteye.com/blog/kidneyball-1828427 在 IDEA Intellij小技巧和插件 一文中简单介绍了一下IdeaVim插件.在这里详细总结 ...

最新文章

  1. eclipse添加maven环境
  2. Java 中15种锁的介绍:公平锁,可重入锁,独享锁,互斥锁,乐观锁,分段锁,自旋锁等等...
  3. mac mysql mysqldump_Mac下Mysql导出sql语句的方法及可能遇到的mysqldump: command not found...
  4. python面向对象的概念_Python面向对象概念和三要素
  5. 【图像处理】一种低光照图像的亮度提升方法(Adaptive Local Tone Mapping Based on Retinex for High Dynamic Range Images)
  6. 前端页面加水印插件_没用过这7款浏览器插件,你一定是假的程序员
  7. ros 发布信息频率_ROS 消息发布器和订阅器Publisher, Subscriber
  8. git 设置用户只需要输入一次账号密码
  9. golang 判断时间是否是 rfc3339_[Golang实现JVM第一篇] 知识准备amp;前言
  10. SPSS偏相关分析的应用介绍
  11. pscc2019滤镜抽出_Photoshop(ps)cc2019 已经发现你啦!
  12. python实现SGD(stochastic gradient descent)算法
  13. php 在线拍卖系统源码,php拍卖系统,源码
  14. 现在培训机构出来的程序员还好找工作吗?
  15. php抛物线函数,通过JS如何实现抛物线运动(详细教程)
  16. Python输入身高体重并计算BMI
  17. 学习Java的你知道什么是程序思维?
  18. 什么叫死区时间_关于pwm死区时间的介绍
  19. 那是你的计算机怎么用英语表示,“I potato you”可不是“我土豆你”,那这个potato到底啥意思?...
  20. 非严格次小生成树 pqq的礼物

热门文章

  1. 代理记账的整套流程和费用
  2. 分布式储能系统发展趋势和未来
  3. 微x模块怎么导入主题_记录学习python第10天-模块/正则
  4. 2. mac上的Antlr4环境搭建
  5. 微信重大更新,现在有人工客服了
  6. 计算机一级选择题必背基础知识,计算机一级考试基础知识练习题(三)
  7. 某OA系统需要提供一个假条审批的模块,如果员工请假天数小于3天,主任可以审批该请假条;如果员工请假天数大于等于3天,小于10天,经理可以审批;如果员工请假天数大于等于10天,小于30天,总经理可以审批
  8. 《许三观卖血记》读后感
  9. java日期格式化字符串,大小写区别,YYYY与yyyy,MM与mm,HH与hh
  10. 1.1.2半导体二极管的结构、工作原理、参数、伏安特性;