注意:以下的操作都是在命令状态下进行的,不要进入插入状态了。参考这里

1.删除

dd        删除一行

ndd      删除以当前行开始的n行
dw       删除以当前字符开始的一个字符
ndw     删除以当前字符开始的n个字符
d$、D  删除以当前字符开始的一行字符
d)        删除到下一句的开始
d}       删除到下一段的开始
d回车      删除2行

2.复制粘贴

设置自动缩进:set smartindent
设置显示行号:set number 或 set nu set nonu为取消行号

co:copy   m:move

:9,15 copy 16  或 :9,15 co 16
:9,15 move 16  或 :9,15 m 16

另存为:

光标移到起始行,输入 ma 
光标移到结束行,输入 mb 
然后:'a, 'b w filename   filename存在当前目录

当直接输入数字时,不需加‘号。

3.光标移动

向左向右移动:20h或向左箭头键20(<——),默认为1   20l或者向右箭头

向上向下移动:20j或者向上箭头键20+    20k或向上箭头键20+

n<space>  光标会向右移动这一行的 n 个字符。例如 20<space> 则光标会向后面移动 20 个字符距离。

n<Enter>  光标向下移动 n 行(常用)

$ 或功能键[End]   移动到这一行的最后面字符处(常用),这里的$在正则里面表示是结尾的意思

gg  移动到这个档案的第一行,相当于 1G 啊! (常用)

4.其他常用

dd  删除正行   yy 复制正行  pp 粘贴正行

x, X   在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键) (常用)

p, P p  将复制的数据,粘贴在光标的下一行,P将复制的数据,粘贴到光标的上一行

d1G  删除光标所在行到第一行的所有数据

y1G  复制光标所在行到第一行的所有数据

dG  删除光标所在行到最后一行的所有数据

d$  删除光标所在处,到该行的最后一个字符

d0  删除光标所在的那个字符到该行行首的所有数据

u  撤销。(常用)

Ctrl + r 撤销的撤销。(常用)

5.区域选择 替换 搜索

/string  向光标之下寻找一个名称为string字符串

?string   向光标之上寻找一个名称为string字符串

n  正向查找,搜索出的string,可以理解成next

N  反向查找,搜索出的string,可以理解成Not next

n是从上到下,N是从下到上

v和V主要的是进行行选择,而Ctrl+v是进行的列选择,从灵活性上来说,ctrl+v更加的灵活一点

:n1,n2s/string1/string2/g  这里的n1是查找的开始行数,n2是查找结束的行数。【:2,7s/ddd/fff/g】在第2行,第7行之间,将ddd替换成fff

:1,$s/string1/string2/g   从第一行到最后一行寻找 string1 字符串,并将该字符串替换为 string2 !(常用)

:1,$s/string1/string2/gc  从第一行到最后一行寻找 string1 字符串,并将该字符串替换为 string2 !且在替换前显示提示字符给用户确认 (confirm) 是否需要替换!(常用)

:s/vivian/sky/     替换当前行第一个 vivian 为 sky
:s/vivian/sky/g     替换当前行所有 vivian 为 sky

:n,$s/vivian/sky/   替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky
:n,$s/vivian/sky/g   替换第 n 行开始到最后一行中每一行所有 vivian 为 sky
n 为数字,若 n 为 .,表示从当前行开始到最后一行

:%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky
:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky

:s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/
:%s+/oradata/apras/+/user01/apras1+ (使用+ 来 替换 / ): /oradata/apras/替换成/user01/apras1/

不加 g,表示只对搜索字符串的首次出现进行替换;

g放在命令末尾,表示对搜索字符串的每次出现进行替换;

g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作

vim编辑器——常用操作整理的更多相关文章

  1. vim程序编辑器---常用操作整理

    vim程序编辑器---常用操作整理 移动光标方法 o 在光标行的下一行,进入编辑模式 $ 移动到光标这行,最末尾的地方 G(大写) 移动到文件最末行 :set  nu 文件显示行数 :set  non ...

  2. VIM编辑器常用功能整理笔记

    vim编辑器 vi : visual Inertface 可视化接口 vim : vi improved 扩展版 语法着色 模式化编辑器: 编辑模式(命令模式): 默认模式 输入模式: 末行模式: 等 ...

  3. Linux中vim编辑器常用操作技巧

    Normal 0 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable {mso-styl ...

  4. mac vim编辑器常用操作快捷方式

    0 行首$ (shift+6)行尾gg 文首G(shift+g) 文尾A(Shift+a)文尾,并编辑ctrl+f 向上翻页ctrl+b 向下翻页ctrl+u 向上翻半页ctrl+d 向下翻半页数字+ ...

  5. (转)vim(vi)常用操作及记忆方法

    vim(vi)常用操作及记忆方法 原文:https://www.cnblogs.com/doseoer/p/6241443.html vi(vim)可以说是linux中用得最多的工具了,不管你配置服务 ...

  6. javascript中字符串常用操作整理

    javascript中字符串常用操作整理 字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用 ...

  7. Linux vi/vim编辑器常用命令与用法总结

    (一)vi/vim是什么?Linux世界几乎所有的配置文件都是以纯文本形式存在的,而在所有的Linux发行版系统上都有vi编辑器,因此利用简单的文字编辑软件就能够轻松地修改系统的各种配置了,非常方便. ...

  8. 关于vim的常用操作

    vim常用操作和使用技巧 vi是linux与unix下的常用文本编辑器,其运行稳定,使用方便,本文将分两部分对其常用操作技巧和配置进行阐述,其中参考了网上的一些文章,对作者表示感谢 PART1 操作技 ...

  9. $Linux vi/vim编辑器常用命令与用法总结 (Markdown编辑版)

    vi/vim是什么? Linux世界几乎所有的配置文件都是以纯文本形式存在的,而在所有的Linux发行版系统上都有vi编辑器,因此利用简单的文字编辑软件就能够轻松地修改系统的各种配置了,非常方便.vi ...

随机推荐

  1. android软键盘的显示和隐藏

    显示: InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE); imm.toggle ...

  2. EL表达式和JSTL核心标签库

    1 EL表达式 1.1 EL的概述 EL,全名为Expression Language. 主要作用: ①EL表达式主要用于替换jsp页面中的脚本表达式,以便于从各种类型的web域中检索java对象(某 ...

  3. jumpserver v0.4.0 基于 CenOS7 的安装详解

    标签(linux): jumpserver 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 笔者已经弃用Jumpserver,并自已开发了shell跳板机. sh ...

  4. MySQL --当AUTO_INCREMENT自增遇到0

    熟悉SQL Server的DBA都知道,在SQL Server中如果想要显示制定自增值,除了在INSERT语句中显示写明自增列外,还需要使用SET IDENTITY_INSERT TB_NAME ON ...

  5. H3c交换机配置端口镜像详情

    端口镜像 需要将G0/0/1口的全部流量镜像到G0/0/2口,即G0/0/1为源端口,G0/0/2为目的端口. 配置步骤 1.进入配置模式:system-view: 2.创建本地镜像组:mirrori ...

  6. C#基础(三)--运算符及条件控制语句

    上一章我们了解了C#的一些数据基本类型.如何定义使用变量及类型之间的相互转换.可能大家会发现程序只能按照我们的要求从上向下这样顺序一条一条的执行. 那么程序能按照我们的要求,当某个条件成立的时候才执行 ...

  7. Django REST framework中的版本控制

    1.REST framework版本控制的流程分析 1.1 determine_version方法的执行流程 首先,请求到达REST framework的CBV,执行CBV中的dispatch方法再次 ...

  8. WPF中,多key值绑定问题,一个key绑定一个界面上的对象

    问题说明: 当用到dictionary<key,value>来储存数据的时候,有时候需要在界面上绑定一个key来显示value,这时候有两种思路: 一种是写一个自定义的扩展类,类似Bind ...

  9. 解决mysql、vsftp远程连接速度慢的问题

    以 centOS 6.3(其他操作系统类似,同样适用)说明: 当我们的服务都配置正常的情况下,有时会出现连接速度慢而导致连接失败的问题 问题分析:这些情况一般都是DNS解析惹的祸 mysql连接速度慢 ...

  10. 对把JDK源码的一些注解,笔记

    //对treeMap的红黑树理解注解. 2017.02.16 by 何锦彬 JDK,1.7.51 /** From CLR */ private void fixAfterInsertion(Entr ...