VsVim - Shortcut Key (快捷键)

Enable / Disable

还可以通过 Ctrl+Shift+F12 在 Visual Studio 中实现 Enable / Disable。

vim和记事本或WORD不一样,不是一打开后就可以输入文字,此时它处于正常模式。

vim一共有4个模式:

  • 正常模式 (Normal-mode)
  • 插入模式 (Insert-mode)
  • 命令模式 (Command-mode)
  • 可视模式 (Visual-mode)

正常模式

启动vim后默认处于正常模式。不论位于什么模式,按下<Esc>键(有时需要按两下)都会进入正常模式。

插入模式

在正常模式中按下i, I, a, A等键,会进入插入模式。现在只用记住按i键会进行插入模式。在插入模式中,击键时会写入相应的字符。

命令模式

在正常模式中,按下:(英文冒号)键,会进入命令模式。在命令模式中可以执行一些输入并执行一些vim或插件提供的指令,就像在shell里一样。这些指令包括设置环境、文件操作、调用某个功能等等。

常用的命令有:q(退出)、q!(强制退出)、w(保存)、wq(保存并退出)。

可视模式

在正常模式中按下v, V, <Ctrl>+v,可以进入可视模式。可视模式中的操作有点像拿鼠标进行操作,选择文本的时候有一种鼠标选择的即视感,有时候会很方便。

1.插入命令(可配合数字使用)
     i                               在当前位置前插入
     I                               在当前行首插入
     a                               在当前位置后插入
     A                               在当前行尾插入
     o                               在当前行之后插入一行
     O                               在当前行之前插入一行
     ni/a/o/I/A/O<Esc>               插入n个字符

2.移动命令(可配合数字使用)
     h                               左移单个字符
     l                               右移单个字符
     k                               上移单个字符
     j                               下移单个字符
     nh/l/k/j                        移动n个字符
     gg                              移动到文件头
     G / shift+g                     移动到文件尾
     (:n<Enter>)/(nG)                跳到第n行
     ''                              回跳刚才的出发点
     m(a...z)                        给当前行标记
     'a                              跳转到标记a的行
     :marks                            查看当前所有标记
     :delm!                            删除所有标记
     (n)w                            向前移动(n / )一个单词
     (n)b                               向后移动(n / )一个单词

3.删除命令(可配合数字使用)
     x                               删除单个字符
     X                               删除当前字符的前一个字符
     nx                              删除n个字符
     dj                              删除下一行
     dk                              删除上一行
     dd                              删除(剪切)当前行
     D                               删除当前字符至行尾

4.撤销重做命令
     u                               撤销
     Ctrl+r                          重做(撤销的撤销)VsVim不可用

5.缩进命令
     shift+v                         选择当前行,可以在输入移动指令来继续移动
     >                               右缩进
     <                               左缩进
     n>/<                            缩进n个tab

5.替换命令
     ra                              将当前字符替换为a
     :s/old/new/                     用old替换new, 替换当前行的第一个匹配
     :s/old/new/g                    用old替换new, 替换当前行的所有匹配
     :%s/old/new/                    用old替换new, 替换所有行的第一个匹配
     :%s/old/new/g                   用old替换new, 替换整个文件的所有匹配

6.交换命令
     ddp                             交换当前行和其下一行
     xp                              交换当前字符和其后一个字符

7.剪切命令
     (n)dd                           剪切当前行(及之后的n行)
     :n1,n2d                         将n1 - n2行剪切。可用p命令将剪切内容进行粘贴
     :n1,n2mn3                       将n1 - n2行剪切粘贴至n3之后

8.其他基础命令
     %                               括号匹配(以匹配一个括号为目的移动)
     / text                          查找text,按n查找下一个,按N查找前一个
     dd                              删除(剪切)当前行
     yy                              复制当前行
     p                               在当前行下一行粘贴
     shift+p                         在当前行前一行粘贴

移动光标类命令

支持

h
光标左移一个字符

l
光标右移一个字符

k
光标上移一行

j
光标下移一行

space
光标右移一个字符

Backspace
光标左移一个字符

Enter
光标下移一行

w or W
光标右移一个字至字首

b or B
光标左移一个字至字首

e or E
光标右移一个字至字尾

nG
光标移至第 n 行首 (会多移一行)

0
(注意是数字零) 光标移至当前行首

^
光标移至当前行首

$
光标移至当前行尾

不支持

e or E
光标标右移一个字至字尾

nG
光标移至第 n 行首 (会多移一行)

H
光标移至屏幕顶行

M
光标移至屏幕中间行

L
光标移至屏幕最后行

查找类命令

支持

# or *
查找当前单词

不支持

f
查找当前行

插入文本类命令

支持

i
在光标前

I
在当前行首

a
光标后

A
在当前行尾

o
在当前行之下新开一行

O
在当前行之上新开一行

r
替换当前字符

s
从当前光标位置处开始,以输入的文本替代指定数目的字符

S
删除指定数目的行,并以所输入文本代替之

ncw or nCW
修改指定数目的字

nCC
修改指定数目的行

不支持

R
替换当前字符及其后的字符,直至按 ESC 键

删除命令

支持

ndw or ndW
删除光标处开始及其后的 n-1 个字

d$
删至行尾

ndd
删除当前行及其后 n-1 行

x 或 X
删除一个字符,x 删除光标后的,而 X 删除光标前的

不支持

d0
删至行首

其它

支持

c
改写命令 (cw,caw 等)

y
复制命令 (yw,yaw,nyy 等,并支持寄存器)

z
滚屏,zz,zb,zt 等

1,dw,这是在此之前我用的对做的也几乎是唯一掌握的一个操作技巧。从光标当前的位置开始删除,直到删到单词最后。

2,daw,算是1的属性扩充版,这个命令可以直接删除光标所在的一个单词。为了方便记忆,可以记忆为deletea word缩写。

3,bdw,这也是一个复合命令。B可以让光标回退到单词开头的位置,而dw则是第1个描述过的命令。

4,另外再有就是删除一个字符,操作为x。

VsVim的快捷键的更多相关文章

  1. VsVim的快捷键使用

    .插入命令(可配合数字使用) i 在当前位置前插入 I 在当前行首插入 a 在当前位置后插入 A 在当前行尾插入 o 在当前行之后插入一行 O 在当前行之前插入一行 ni/a/o/I/A/O<E ...

  2. visual studio高效率插件及快捷键

    visual studio从2010开始支持插件安装(工具->扩展管理器),这里推荐几个插件,可以极大的提升开发效率: Visual Assist X(VAssistX) VAssistX是wh ...

  3. Visual Assist X 10.6.1830.0 常用快捷键

    Visual Assist X 10.6.1830.0 常用快捷键 1.Alt + G: 在定义与声明之间互跳. 2.Alt + O: 在.h与.cpp之间互跳.(O是字母O,不是数字零) 3.Alt ...

  4. VsVim - Shortcut Key (快捷键)

    Enable / Disable NuGet 中提供了禁用按钮.另外还可以通过 Ctrl+Shift+F12 在 Visual Studio 中实现 Enable / Disable. 移动光标类命令 ...

  5. 更有效率的使用 Visual Studio - 快捷键

    工欲善其事,必先利其器.虽然说Vim和Emacs是神器,但是对于使用Visual Studio的程序员来说,我们也可以通过一些快捷键和潜在的一些功能实现脱离鼠标写代码,提高工作效率,像使用Vim一样使 ...

  6. vsvim _vsvimrc 设置(转)

    c_joewang的专栏 (转) vsvim安装到vs2010后可以使用绝大部分原生vim的编辑功能,包括宏录制,也可以通过配置设置键盘映射,关于支持的编辑功能等可以参考上面链接去查看相关文档. Vi ...

  7. vs vsvim viemu vax 备忘

    使用gt和gT往返标签 gd:到达光标所在处函数或者变量的定义处. *:读取光标处的字符串,并且移动光标到它再次出现的地方. #:和上面的类似,但是是往反方向寻找. /text:从当前光标处开始搜索字 ...

  8. visual studio中使用vim快捷键

    vsvim下载链接: https://marketplace.visualstudio.com/items?itemName=JaredParMSFT.VsVim 下载,关闭visual studio ...

  9. VS下使用VIM, Visual Studio 安装 VSvim插件 配置 及使用

    简介 VIM是一款很高效的编辑工具,所幸的是VS2012以后支持VIM的插件:VsVim.下面介绍插件的安装.配置及简单使用. 1. 下载安装 去官网下载,双击直接安装后,重新打开VS. https: ...

随机推荐

  1. 二.Rsync备份服务

    自己动手部署一遍 期中架构-第二章-备份服务笔记====================================================================== 01. 课 ...

  2. Python实操

    有两个列表,分别存放报名学习linux和python课程的学生名字 linux=['钢弹','小壁虎','小虎比','alex','wupeiqi','yuanhao'] python=['drago ...

  3. 《剑指offer》栈的插入弹出序列

    本题来自<剑指offer> 栈的插入弹出序列 题目: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2, ...

  4. add web server(nginx)

    #!/bin/bash # # Web Server Install Script # Last Updated 2012.09.24 # ##### modify by WanJie 2012.09 ...

  5. hdfs数据到hbase过程

    需求:将HDFS上的文件中的数据导入到hbase中 实现上面的需求也有两种办法,一种是自定义mr,一种是使用hbase提供好的import工具 一.hdfs中的数据是这样的 hbase创建好表 cre ...

  6. Oracle数据库查看表空间是否为自增的

    表空间是有数据文件组成的,所以看表空间是否自增即看数据文件,如下查自增的表空间: select tablespace_name,file_name,autoextensible from dba_da ...

  7. 将现有项目添加到TFS中

    假设在Projects文件夹中有一个名为WpfApplication1的项目需要添加到TFS. 我们可以这样做: 1.打开视图->团队资源管理器,点击管理连接,在弹出的窗口中选择服务器和团队项目 ...

  8. RxJava2.0相关教程

    这可能是最好的RxJava 2.x 教程(完结版) https://www.jianshu.com/p/0cd258eecf60 RxJava2.0——从放弃到入门 https://www.jians ...

  9. A - Points and Segments CodeForces - 429E

    题解: 方法非常巧妙的一道题 首先考虑要求全部为0怎么做 发现是个欧拉回路的问题(很巧妙) 直接dfs一遍就可以了 而这道题 要求是-1,1,0 我们可以先离散化 完了之后判断每个点被奇数还是偶数条边 ...

  10. Django时区的解释

    https://segmentfault.com/q/1010000000405911