vi--文本编辑常用快捷键之复制-粘贴-替换-删除
这几天刚开始接触vi编辑器,慢慢开始熟悉vi,但是还是感觉诸多不便,比如说复制粘贴删除操作不能用鼠标总是感觉不自在,而且我一般习惯用方向键移动光标,更增加了操作的复杂度,今天在网上搜索了一下,vim编辑相关的快捷键如下:
1.删除操作
删除操作是我最先适应的,快捷键如下:
1.删除整行:命令模式下,按下dd可以删除光标所在行,按u键可以撤销操作,按U键撤销所有操作。
2.删除第m到第n行 :冒号模式下,输入’m,nd‘,比如,要删除第3到第4行,输入’:3,4d‘即可,撤销依然是u键。
3.删除从光标所在行开始的m行:命令模式下,键入’mdd‘即可,例如,想删除从当前光标所在行开始的2行,输入’2dd‘即可。
注:其实也可以用’mdj‘,但是不如’mdd‘方便。同样的’mdk‘删除从光标所在行开始往上数的m行。
4.删除光标所在字符开始到单词结尾(包括空格)的一个单词:命令行模式下输入dw。
删除光标所在字符开始到单词结尾(包括空格)的m个单词:命令行模式下输入mdw。
5.删除光标位置的一个字符:命令行模式下输入x(其实X也可以,但是没必要这么麻烦,对不?)。
删除从光标位置开始的m个字符:命令行模式下输入mx
6.删除当前光标所在字符到行尾的所有字符:命令行模式下输入d$
7.删除当前光标所在字符开始的n个字符:命令行模式下输入ndl或者ndh
可以看到,删除的主键是字符’d‘
2.复制操作
复制操作是我最想用的操作,一起习惯了用鼠标来选定区域的我一时半会最难以接受的就是vi的复制区域选定和快捷键,复制的快捷键如下:
1.复制整行:命令行模式下,输入yy
2.复制从当前光标所在行开始的m行:命令行模式下输入myy
注:myj也是可以的,myk只不过是方向相反而已。
3.复制从当前光标所在字符到该字符所在单词的结尾(包括空格)开始的的m个单词:命令行模式下输入myw
4.复制从当前光标所在字符到该字符所在单词的结尾(包括空格)的内容:命令行模式下输入yw
5.复制当前光标所在字符到该行的结尾所有字符:命令行模式下输入y$
6.复制当前光标所在字符到该行行首所有字符:命令行模式下输入y^
7.复制当前光标所在字符开始的n个字符:命令行模式下输入nyl或者nyh,其中l和h是指明方向的
复制的主键是’y‘
3.粘贴操作
键入’p‘即可,多文件复制粘贴我先不考虑,后续等我熟练了再说。
4.替换操作
替换操作的主键是’s‘,具体来说,各个操作的快捷键如下:
1.用new替换掉光标所在行中首次出现的old:冒号模式下键入’s/old/new‘,注意,没有空格
2.用new替换掉光标所在行中所有的old:冒号模式下键入:’s/old/new/g‘
3.用new替换掉第m到第n行中出现的所有old:冒号模式下键入:’m,n s/old/new‘
4.用new替换掉整篇中的old:冒号模式下键入:’% s/old/new‘
暂且先记录这么多吧,再接再厉!!
vi--文本编辑常用快捷键之复制-粘贴-替换-删除的更多相关文章
- Linux 文本编辑常用快捷键
一.编辑模式 vim有三种编辑模式 1. i 进入文本编辑模式 2. esc 进入命令编辑模式 命令编辑状态下 dd删除整行 3. :进入底行模式 底行模式状态 输入q 退出 w保存 wq 保存并 ...
- 【xshell】xshell设置快捷键 设置Ctrl+C Ctrl+V快捷键为复制粘贴
在使用xshell的时候,总是不能顺手的进行复制粘贴的操作. 那能不能设置xhsell的快捷键呢? 点击工具--->选项---> 选择 键盘和鼠标 选项卡--->点击编辑----&g ...
- vi学习 常用命令-新建-复制-剪切-粘贴
mkdir /home/brandon.du/desktop/mylinux/test_1.txt ---------mkdir新建文件夹 rm /home/brandon.du/desktop/ ...
- vim基本命令之剪切复制粘贴替换
首先是剪切(删除): 剪切其实也就顺带删除了所选择的内容,所以既可以当剪切命令用,也可以当删除命令使用. 1 首先,可以在命令模式下输入v进入自由选取模式,选择需要剪切的文字后,按下d就可以进行剪切了 ...
- vi 编辑器常用快捷键
vi 编辑器 vim 编辑器算是vi的进阶版本 所有的unix like 系统都会内建vi编辑器 vi三种模式分别为: 1.一般模式(默认模式或指令模式) 上下左右方向键 移动光标 pageUp pa ...
- 11、jeecg 笔记之 界面常用整理 - 方便复制粘贴
1.datagrid 操作按钮(按钮样式) 操作按钮的显示主要依赖于 <t:dgCol title="操作" field="opt" ></ ...
- Android Stuido 常用快捷键
Android Stuido 常用快捷键 Ctrl + Z : 撤消 Ctrl + G : 定位行 Ctrl + / : 单行注释 Ctrl + Shift + Z : 恢复 Ctrl + J : 快 ...
- Linux学习(1)-常用快捷键、文件管理和查询
有话要说 为什么要用Linux?要用Linux的原因太多,想说说不完啊. 如果你说用Linux只是为了装逼,那证明你真的还很菜.不排除有装逼了因素,那也只占非常少的比例,可以忽略不计. 我们反问一下, ...
- Linux常用快捷键、文件管理和查询
有话要说 为什么要用Linux?要用Linux的原因太多,想说说不完啊.如果你说用Linux只是为了装逼,那证明你真的还很菜.不排除有装逼了因素,那也只占非常少的比例,可以忽略不计.我们反问一下,为什 ...
随机推荐
- [iOS]解决模拟器无法输入中文问题
第一步:设置schem 菜单项 -> Product-> Scheme -> Edit Scheme -> 然后在弹出的界面里 选择OPtion 项, 设置 Applicat ...
- Android关于实现EditText中加多行下划线的的一种方法
1. 重写EditText public class LinedEditText extends EditText { private Paint linePaint; private float m ...
- Android ActionBar的Overlay模式如何不遮盖顶部内容的问题
关于actionbar的overlay模式请参考 如何让android的actionbar浮动且透明 一文.这篇文章讲的是如何在这种模式下让actionbar不遮住顶部的内容. 这 一般是这样的场景, ...
- Sqlserver数据库分页查询
Sqlserver数据库分页查询一直是Sqlserver的短板,闲来无事,想出几种方法,假设有表ARTICLE,字段ID.YEAR...(其他省略),数据53210条(客户真实数据,量不大),分页查询 ...
- HDU 4351 Digital root 线段树区间合并
依然不是十分理解……待考虑…… #include <cstdio> #include <cstring> #include <cstdlib> #include & ...
- JSTL、EL、ONGL、Struts标签的区别与使用
一.JSTL 来源 我们使用JSP开发信息展现非常方便,也可嵌入java代码用来实现相关逻辑,但同样带来了很多问题: jsp维护难度增加 出事提示不明确,不容易提示 分工不明确等 解决上面的问题可以 ...
- sscanf() 和 sprintf()的用法。
因为感觉比较有用. 这几次比赛,用过几次,所以写个程序,总结一下. 如果用sscanf(s, "%d.%d", &a, &b); 的时候,一定要注意是否s里一定有小 ...
- ViewPager介绍和使用说明
1 ViewPager实现的功能 和实际运行的效果图示意 ViewPager类提供了多界面切换的新效果.新效果有如下特征: [1] 当前显示一组界面中的其中一个界面. [2] 当用户通过左右滑动界 ...
- QSettings读写注册表、配置文件
简述 一般情况下,我们在开发软件过程中,都会缓存一些信息到本地,可以使用轻量级数据库sqlite,也可以操作注册表.读写配置文件. 关于QSettings的使用前面已经介绍过了,比较详细,见" ...
- LeetCode Invert Binary Tree 反转二叉树
思路:递归解决,在返回root前保证该点的两个孩子已经互换了.注意可能给一个Null. C++ /** * Definition for a binary tree node. * struct Tr ...