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. 【sqli-labs】Less18~Less22

    Less18: User-Agent注入,有错误回显 感叹一句,越来越难了.现在只能先看代码再分析怎么注入了..... 通过代码,发现username和password均做了校验.但是会有一个插入us ...

  2. hdu1811 拓扑排序+并查集缩点

    /*给定两个点之间的三种关系 = < >如果是=就将两点放到同一个集合里进行缩点 离线处理所有关系,先用并查集将等于关系缩成一个点 */ #include<bits/stdc++.h ...

  3. lightoj1259 线性筛的另一种写法 v变成bool标记数组

    也是用线性筛,但是v用int会爆,所以这个线性筛用的是另外一种写法 #include<cstdio> #include<cmath> #include<queue> ...

  4. 基于concurrent.futures的进程池 和线程池

    concurrent.futures:是关于进程池 和 线程池 的 官方文档 https://docs.python.org/dev/library/concurrent.futures.html 现 ...

  5. node.js 框架express关于报错页面的配置

    1.声明报错的方法,以及相对应的页面 //把数据库的调用方法配置到请求中 server.use((req, res, next) => { //把数据库存入req中 req.db = db; / ...

  6. 在一些开源框架中,dist文件夹是什么意思

    全称是distribution. distribution英 [dɪstrɪ'bjuːʃ(ə)n]美 ['dɪstrə'bjʊʃən]: 发行版 n. 分布:分配 在某些框架中,因为开发和发布是的内容 ...

  7. MongoDB数据库备份与还原、单表的导入导出

    -------------------MongoDB备份与恢复------------------- 1.MongoDB数据库备份     1.语法:         mongodump -h dbh ...

  8. Android 第一波

    1. Devik进程,Linux进程,线程的区别 说一说对 SP 频繁操作有什么后果? SP 能存储多少数据? SP 的底层其实是由xml文件来实现的,操作 SP 的过程其实就是xml的序列化和反序列 ...

  9. Two Sum【LeetCode】

    Given an array of integers, return indices of the two numbers such that they add up to a specific ta ...

  10. JQuery之左侧菜单

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...