这几天刚开始接触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--文本编辑常用快捷键之复制-粘贴-替换-删除的更多相关文章

  1. Linux 文本编辑常用快捷键

    一.编辑模式 vim有三种编辑模式 1. i 进入文本编辑模式 2. esc 进入命令编辑模式 命令编辑状态下 dd删除整行 3. :进入底行模式 底行模式状态  输入q 退出 w保存  wq 保存并 ...

  2. 【xshell】xshell设置快捷键 设置Ctrl+C Ctrl+V快捷键为复制粘贴

    在使用xshell的时候,总是不能顺手的进行复制粘贴的操作. 那能不能设置xhsell的快捷键呢? 点击工具--->选项---> 选择 键盘和鼠标 选项卡--->点击编辑----&g ...

  3. vi学习 常用命令-新建-复制-剪切-粘贴

    mkdir /home/brandon.du/desktop/mylinux/test_1.txt   ---------mkdir新建文件夹 rm /home/brandon.du/desktop/ ...

  4. vim基本命令之剪切复制粘贴替换

    首先是剪切(删除): 剪切其实也就顺带删除了所选择的内容,所以既可以当剪切命令用,也可以当删除命令使用. 1 首先,可以在命令模式下输入v进入自由选取模式,选择需要剪切的文字后,按下d就可以进行剪切了 ...

  5. vi 编辑器常用快捷键

    vi 编辑器 vim 编辑器算是vi的进阶版本 所有的unix like 系统都会内建vi编辑器 vi三种模式分别为: 1.一般模式(默认模式或指令模式) 上下左右方向键 移动光标 pageUp pa ...

  6. 11、jeecg 笔记之 界面常用整理 - 方便复制粘贴

    1.datagrid 操作按钮(按钮样式) 操作按钮的显示主要依赖于 <t:dgCol title="操作" field="opt"  ></ ...

  7. Android Stuido 常用快捷键

    Android Stuido 常用快捷键 Ctrl + Z : 撤消 Ctrl + G : 定位行 Ctrl + / : 单行注释 Ctrl + Shift + Z : 恢复 Ctrl + J : 快 ...

  8. Linux学习(1)-常用快捷键、文件管理和查询

    有话要说 为什么要用Linux?要用Linux的原因太多,想说说不完啊. 如果你说用Linux只是为了装逼,那证明你真的还很菜.不排除有装逼了因素,那也只占非常少的比例,可以忽略不计. 我们反问一下, ...

  9. Linux常用快捷键、文件管理和查询

    有话要说 为什么要用Linux?要用Linux的原因太多,想说说不完啊.如果你说用Linux只是为了装逼,那证明你真的还很菜.不排除有装逼了因素,那也只占非常少的比例,可以忽略不计.我们反问一下,为什 ...

随机推荐

  1. 用 React 编写SVG图表

    1.代码 <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="U ...

  2. MVC运行原理

    Global.asax Global.asax 文件,有时候叫做 ASP.NET 应用程序文件,提供了一种在一个中心位置响应应用程序级或模块级事件的方法.你可以使用这个文件实现应用程序安全性以及其它一 ...

  3. Check if KeyValuePair exists with LINQ's FirstOrDefault

    http://stackoverflow.com/questions/793897/check-if-keyvaluepair-exists-with-linqs-firstordefault 问题: ...

  4. Android开发之网络请求HttpURLConnection

    转:http://blog.csdn.net/guolin_blog/article/details/12452307 Android中主要提供了两种方式来进行HTTP操作,HttpURLConnec ...

  5. APIO2015题解

    分组赛讲课讲了APIO2015的题,于是回去就做完了 稍微写一点题解吧 bzoj4069 逐位处理的简单题,然后就是bool型dp 然后a=1 的时候可以把一位状态干掉 当一维状态单调且是bool型d ...

  6. Qt之启动外部程序

    简述 QProcess可以用来启动外部程序,并与它们交互. 要启动一个进程,通过调用start()来进行,参数包含程序的名称和命令行参数,参数作为一个QStringList的单个字符串. 另外,也可以 ...

  7. H264码流打包分析(精华)

    H264码流打包分析 SODB 数据比特串-->最原始的编码数据 RBSP 原始字节序列载荷-->在SODB的后面填加了结尾比特(RBSP trailing bits 一个bit“1”)若 ...

  8. CCapture directshow 视频捕获类

    // Capture.h for class CCapture #include <dshow.h> #include <qedit.h> #include <atlba ...

  9. Mybatis学习——一对一关联表查询

    1.SQL语句建表 CREATE TABLE teacher( t_id ) ); CREATE TABLE class( c_id ), teacher_id INT ); ALTER TABLE ...

  10. 常用的css的技巧

    1.在做项目当中,由静态页面来载入到项目中,作为动态数据的部分,若是这个动态数据,前面或者后面有需要图片显示(图片是用background来显示的),一般不用float:left或者right,而是p ...