VsVim的快捷键
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的快捷键的更多相关文章
- VsVim的快捷键使用
.插入命令(可配合数字使用) i 在当前位置前插入 I 在当前行首插入 a 在当前位置后插入 A 在当前行尾插入 o 在当前行之后插入一行 O 在当前行之前插入一行 ni/a/o/I/A/O<E ...
- visual studio高效率插件及快捷键
visual studio从2010开始支持插件安装(工具->扩展管理器),这里推荐几个插件,可以极大的提升开发效率: Visual Assist X(VAssistX) VAssistX是wh ...
- 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 ...
- VsVim - Shortcut Key (快捷键)
Enable / Disable NuGet 中提供了禁用按钮.另外还可以通过 Ctrl+Shift+F12 在 Visual Studio 中实现 Enable / Disable. 移动光标类命令 ...
- 更有效率的使用 Visual Studio - 快捷键
工欲善其事,必先利其器.虽然说Vim和Emacs是神器,但是对于使用Visual Studio的程序员来说,我们也可以通过一些快捷键和潜在的一些功能实现脱离鼠标写代码,提高工作效率,像使用Vim一样使 ...
- vsvim _vsvimrc 设置(转)
c_joewang的专栏 (转) vsvim安装到vs2010后可以使用绝大部分原生vim的编辑功能,包括宏录制,也可以通过配置设置键盘映射,关于支持的编辑功能等可以参考上面链接去查看相关文档. Vi ...
- vs vsvim viemu vax 备忘
使用gt和gT往返标签 gd:到达光标所在处函数或者变量的定义处. *:读取光标处的字符串,并且移动光标到它再次出现的地方. #:和上面的类似,但是是往反方向寻找. /text:从当前光标处开始搜索字 ...
- visual studio中使用vim快捷键
vsvim下载链接: https://marketplace.visualstudio.com/items?itemName=JaredParMSFT.VsVim 下载,关闭visual studio ...
- VS下使用VIM, Visual Studio 安装 VSvim插件 配置 及使用
简介 VIM是一款很高效的编辑工具,所幸的是VS2012以后支持VIM的插件:VsVim.下面介绍插件的安装.配置及简单使用. 1. 下载安装 去官网下载,双击直接安装后,重新打开VS. https: ...
随机推荐
- 【sqli-labs】Less18~Less22
Less18: User-Agent注入,有错误回显 感叹一句,越来越难了.现在只能先看代码再分析怎么注入了..... 通过代码,发现username和password均做了校验.但是会有一个插入us ...
- hdu1811 拓扑排序+并查集缩点
/*给定两个点之间的三种关系 = < >如果是=就将两点放到同一个集合里进行缩点 离线处理所有关系,先用并查集将等于关系缩成一个点 */ #include<bits/stdc++.h ...
- lightoj1259 线性筛的另一种写法 v变成bool标记数组
也是用线性筛,但是v用int会爆,所以这个线性筛用的是另外一种写法 #include<cstdio> #include<cmath> #include<queue> ...
- 基于concurrent.futures的进程池 和线程池
concurrent.futures:是关于进程池 和 线程池 的 官方文档 https://docs.python.org/dev/library/concurrent.futures.html 现 ...
- node.js 框架express关于报错页面的配置
1.声明报错的方法,以及相对应的页面 //把数据库的调用方法配置到请求中 server.use((req, res, next) => { //把数据库存入req中 req.db = db; / ...
- 在一些开源框架中,dist文件夹是什么意思
全称是distribution. distribution英 [dɪstrɪ'bjuːʃ(ə)n]美 ['dɪstrə'bjʊʃən]: 发行版 n. 分布:分配 在某些框架中,因为开发和发布是的内容 ...
- MongoDB数据库备份与还原、单表的导入导出
-------------------MongoDB备份与恢复------------------- 1.MongoDB数据库备份 1.语法: mongodump -h dbh ...
- Android 第一波
1. Devik进程,Linux进程,线程的区别 说一说对 SP 频繁操作有什么后果? SP 能存储多少数据? SP 的底层其实是由xml文件来实现的,操作 SP 的过程其实就是xml的序列化和反序列 ...
- Two Sum【LeetCode】
Given an array of integers, return indices of the two numbers such that they add up to a specific ta ...
- JQuery之左侧菜单
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...