【转】一些常用的Vi命令,可帮助脱离鼠标
使用Vi编写代码时,如果想脱离鼠标,需要使用一些命令快捷键,下面罗列了一些常用的并且容易记住的:
1. 命令模式下,移动光标或跳转
0到行首
^到行首第一个非空字符
$到行尾非空字符
fx向后移动光标到本行的x字符处
Fx向前移动光标到本行的x字符处
gg跳转到文件头部
G跳转到文件尾部
nG、ngg或者:n跳转到第n行
%跳到与当前括弧([{}])相匹配的位置处
2. 命令模式下,进入插入模式
i在当前光标位置左边添加文本
I在当前行首(第一个非空字符处)添加文本
a在当前光标位置的右边添加文本
A在当前行尾添加文本
o在当前行的下面新建一行
O在当前行的上面新建一行
3.命令模式下,删除文本
x删除当前光标处字符
nx删除从当前光标处字符开始算起的n个字符
cw删除当前光标处字符,并且进入插入状态
d/xxx删除从当前光标处到xxx字符的所有文本
dtxxx删除从当前光标处到本行的xxx处
dw删除从当前光标到当前word尾部
dd删除当前行
ndd删除从当前行开始的n行
d}删除当前行直到下一个空行
d{删除当前行直到前一个空行
d$删除从当前光标处字符直到行尾
:n,md删除n到m行
:%s/^[\t ]*//g删除文件内所有行行首的空格和tab
:%s/[\t ]*$//g删除文件内所有行行尾的空格和tab
删除多行可以分三步:1. mz标记某一行;2. 光标移动到目标结束行;3. d'z
4.命令模式下,复制,粘贴
p粘贴内容到当前光标后
P粘贴内容到当前光标前
条目3中很多命令将d换为y即可,如复制多行:1. mz标记某一行;2. 光标移动到目标结束行;3. y'z
5.命令模式下,替换
:s/old/new/g替换当前行内所有old字符串为new
&重复上一次替换
:%s/old/new/g替换当前文件内所有old字符串为new
:n,ms/old/new/g替换从行n到行m内所有old字符串为new
ZZ = :wq 保存并退出
6.命令模式下,其他编辑命令
u撤销上一个编辑操作(undo)
ctrl+r重复上一个编辑操作(redo)
J合并当前行跟下一行
块编辑:ctr+v进入块编辑,从当前行往下移动光标直到目标结束行,然后按大写的I进入插入状态,输入xxx,然后按esc后,在所有的块内行首均会加上xxx
7.其他命令
/xxx向下搜索xxx
?xxx向上搜索xxx
n跳转到下一个搜索位置
N跳转到上一个跳转位置
ZZ保存当前文件并退出,等同于:wq
ctrl+[切换回命令模式,等同于esc
插入模式下,自动补全:ctrl+p或ctrl+n
tag跳转:ctrl+]跳转到符号定义处,T调回到原来位置
【转】一些常用的Vi命令,可帮助脱离鼠标的更多相关文章
- 【原创】一些常用的Vi命令,可帮助脱离鼠标
使用Vi编写代码时,如果想脱离鼠标,需要使用一些命令快捷键,下面罗列了一些常用的并且容易记住的: 1. 命令模式下,移动光标或跳转 0到行首 ^到行首第一个非空字符 $到行尾非空字符 fx向后移动光标 ...
- 我常用的Vi命令
Vi对于linux的重要性和受欢迎的程度在此一律不表.此刻互联网上不少介绍vi的文章和博客,相信写得比我好的也不在少数.然而为什么我依然写这样一篇文章呢?我对linux知识和了解也都来自于互联网,很难 ...
- 不常用的vi命令
vi u 撤回ctrl+r 撤回的撤回 全文替换%s/old/new/g 指定行区间替换12,15s/old/new/g c替换前确认12,15s/old/new/gc 用#代替分隔符,用户关键字有/ ...
- linux:终端常用命令 + vi命令修改文件及保存 方法
首先介绍一下Ubuntu下各个目录的一般作用: / 这就是根目录,一台电脑有且只有一个根目录,所有的文件都是从这里开始的.举个例子:当你在终端里输入“/home”,你其实是在告诉电脑,先从/(根目录 ...
- linux vi 命令大全
进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后 ...
- linux下vi命令大全
进入vi的命令vi filename :打开或新建文件,并将光标置于第一行首vi +n filename :打开文件,并将光标置于第n行首vi + filename :打开文件,并将光标置于最后一行首 ...
- (转)linux下vi命令大全
http://www.cnblogs.com/88999660/articles/1581524.html 进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n ...
- linux下vi命令大全[转]
进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后 ...
- linux下vi命令大全(转载)
进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后 ...
随机推荐
- BZOJ:4826: [Hnoi2017]影魔
Description 影魔,奈文摩尔,据说有着一个诗人的灵魂.事实上,他吞噬的诗人灵魂早已成千上万.千百年来,他收集了各式各样的灵魂,包括诗人.牧师.帝王.乞丐.奴隶.罪人,当然,还有英雄.每一个灵 ...
- 【WC2013】糖果公园
Candyland 有一座糖果公园,公园里不仅有美丽的风景.好玩的游乐项目,还有许多免费糖果的发放点,这引来了许多贪吃的小朋友来糖果公园玩. 糖果公园的结构十分奇特,它由 nn 个游览点构成,每个游览 ...
- [51nod1329]路径游戏
Snuke与Sothe两个人在玩一个游戏.游戏在一个2*N的网格中进行(2行N列),这个网格中的2N个格子不是黑色就是白色.定义,一条有效路径是指一个完全由白色格子构成的序列,这个序列的第一个网格元素 ...
- 4395: [Usaco2015 dec]Switching on the Lights
每次到达一个点,或者点亮一个房间的灯的时候,检查一下它四周的点能否走. 一开始看错题了..要求的是最多能开多少房的灯. #include<cstdio> #include<iostr ...
- Prim最小生成树板子
普里姆算法可以称为"加点法",每次迭代选择代价最小的边对应的点,加入到最小生成树中.算法从某一个顶点s开始,逐渐长大覆盖整个连通网的所有顶点. 邻接矩阵存图 时间复杂度O(n^2 ...
- Wolf and Rabbit
http://acm.hdu.edu.cn/showproblem.php?pid=1222 Wolf and Rabbit Time Limit: 2000/1000 MS (Java/Others ...
- Open-air shopping malls(二分半径,两元交面积)
http://acm.hdu.edu.cn/showproblem.php?pid=3264 Open-air shopping malls Time Limit: 2000/1000 MS (Jav ...
- c语言基础学习08_关于内存管理的复习
=============================================================================对于c语言来讲,内存管理是一个很重要的内容,它 ...
- insertBefore方法(javascript与jQuery)
说到insertBefore()方法,其实javascript与jQuery中都有此方法,那么他们用法是否相同呢? 其实,还是有点区别的.反正我是爱搞混淆了,先做个小笔记吧! 1.insertBefo ...
- 分布式文件系统FastDFS动态扩容
当用户量越来越大,则集群中某个group总会到达其极限,这时就得扩展集群的容量了. FastDFS的扩容分为对group纵向扩容和横向扩容 纵向扩容 指在同一个group组中增加服务器,实现数据冗余, ...