文档章节

进入编辑模式 vim命令模式 vim实践

oschina130111
 oschina130111
发布于 06/21 10:01
字数 1056
阅读 14
收藏 0
点赞 0
评论 0

vim编辑模式、vim命令模式
vim编辑模式

使用vim filename 进入的界面是一般模式,在这个模式下虽然我们能够查看,复制,剪切,粘贴,但是不能编辑新的内容,如何能直接写入东西呢?这就需要进入编辑模式了,从一般模式进入编辑模式有很多个按键都可以实现,但是不同的按键进入编辑模式是有区别的

  • i 在光标当前字符前插入
  • I 在光标所在行的行首插入
  • a 在当前字符后插入
  • A 在光标所在行尾插入
  • o 在当前行的下一行另起一行插入
  • O 在当前行的上一行另起一行插入

vim命令模式

vim工具还有一个命令模式,在一般模式下输入“:、/”就可以进入命令模式,在命令模式下我们可以搜索某个字符串,也可以实现保存,替换,退出,显示行号,高亮显示等操作。

  • /word 在光标之后查找一个字符串word,按n键向后继续搜索
  • ?word 在光标之前查找一个字符串word,按n键向前继续搜索
  • :n1,n2s/word1/word2/g 在n1和n2行之间查找word1并替换成word2,不加g则只替换每行的第一个word1
  • :1,$s/word1/word2/g 将文档中所有的word1替换成word2,不加g则只替换每行的第一个word1
  • 当要被替换或要替换的内容当中有“/”时,系统会不识别命令,可以用“#或@”将语法中的/替换掉,比如讲wo/rd1 替换成wo/rd2 可以使用:1,$s#wo/rd1#wo/rd2#g

命令模式的其他功能

  • :w 保存文本
  • :q 退出vim
  • :w! 强制保存文本,使用root用户时,即使文本是只读的,也可以完成保存
  • :q! 强制退出,所有改动不生效
  • :wq 保存并退出(如果没有改动文本,使用该命令也会更新文件的Mtime)
  • :x 保存并退出(如果没有改动文本,使用该命令不会更新文件的Mtime)
  • :set nu 显示行号

:set nonu 不显示行号

vim 实践

[root@bogon ~]# vim test.txt
[root@bogon ~]# cp /etc/dnsmasq.conf /tmp/1.txt
[root@bogon ~]# vim /tmp/1.txt
# Configuration file for dnsmasq.
#
# Format is one option per line, legal options are the same
# as the long options legal on the command line. See
# "/usr/sbin/dnsmasq --help" or "man 8 dnsmasq" for details.

# Listen on this specific port instead of the standard DNS port
# (53). Setting this to zero completely disables DNS function,
# leaving only DHCP and/or TFTP.
#port=5353

# The following two options make you a better netizen, since they
# tell dnsmasq to filter out queries which the public DNS cannot
# answer, and which load the servers (especially the root servers)
# unnecessarily. If you have a dial-on-demand link they also stop
# these requests from bringing up the link unnecessarily.

# Never forward plain names (without a dot or domain part)
#domain-needed
# Never forward addresses in the non-routed address spaces.
#bogus-priv

# Uncomment these to enable DNSSEC validation and caching:
# (Requires dnsmasq to be built with DNSSEC option.)
#conf-file=%%PREFIX%%/share/dnsmasq/trust-anchors.conf
#dnssec

# Replies which are not DNSSEC signed may be legitimate, because the domain
# is unsigned, or may be forgeries. Setting this option tells dnsmasq to
# check that an unsigned reply is OK, by finding a secure proof that a DS
# record somewhere between the root and the domain does not exist.
# The cost of setting this is that even queries in unsigned domains will need
# one or more extra DNS queries to verify.
#dnssec-check-unsigned

# Uncomment this to filter useless windows-originated DNS requests

分别向下、向右、向左、向右移动6个字符(6j 6l 6h 6l)

搜索文件中出现的dnsmasq字符串,并数一下该字符串出现的次数(输入/dnsmsq,然后按n)。

把从第1行到第10行出现的dnsmasq字符串替换成dns(:1,10s/dnsmasq/dns/g)

还原上一步操作(u)

把光标移动到第25行,删除字符串1y(输入25G后回车,然后按j向右移动光标找到ly,按v选中,然后按x)

删除第50行

删除第37行至第42行的所有内容(37G 6dd)

复制第48行的内容并将其粘贴到第52行下面(48G yy 52G p)。

 

© 著作权归作者所有

共有 人打赏支持
oschina130111
粉丝 0
博文 38
码字总数 26268
作品 0
朝阳
系统管理员
Android拓展系列(4)--vim编辑器的基本使用

从接触Linux到现在,也已经好几年了,对于linux的感觉一直是分分离离,充满了遗憾,最大的遗憾之一就是一直没能精通vim,不能完全适应vim下的代码开发。 最近工作中又广泛接触到vim的使用,我...

枫影Xda
2011/10/23
0
0
vi & vim 插入 删除 修改 文本

Abstract: 1) 插入文本; 2)修改文本; 3)删除文本; vi & vim 有编译模式与命令模式,下述光标移动操作均为命令模式下操作; 下文中以 ^ 符表示 Ctrl 键被按下,如 ^F 标示 Ctrl 与 F 键被...

sea_god
2015/03/25
0
0
vim编辑模式、vim命令模式

vim编辑模式 使用vim filename 进入的界面是一般模式,在这个模式下虽然我们能够查看,复制,剪切,粘贴,但是不能编辑新的内容,如何能直接写入东西呢?这就需要进入编辑模式了,从一般模式...

李超小牛子
03/01
0
0
18.进入编辑模式 vim命令模式 实践

5.5 进入编辑模式 5.6 vim命令模式 5.7 vim实践 5.5 进入编辑模式: i 在当前字符前插入 I 在光标所在行的行首插入 a 在当前字符后插入 A 在光标所在行的行尾插入 o 在当前所在行的下一行插入...

王鑫linux
06/21
0
0
vim进入编辑模式, 命令模式, 实践

vim进入编辑模式 vim命令模式 vim实践 vim进入编辑模式 i / I / o / O / a i 光标不动 I 光标所在行行首 o 光标所在行的下一行开始 O 光标所在行的上一行开始 a 光标所在的字符后面一位 A 光...

serverlooker
2017/11/08
0
0
在Linux下使用vim配合xxd查看并编辑二进制文件

通常来说文件分为文本和二进制文件两大类,文本文件的编辑很容易,Windows下的notepad、UltraEdit都很好用,二进制文件的编辑在Windows下也有很多工具,UltraEdit也不错,但是Linux下呢?今天...

李有常
2015/04/17
0
0
linux vi/vim 命令

Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。 但是目前我们使用比较多的是 vim 编辑器。 vim 具有程序编辑的能力,可以主动的以字体颜色辨...

孤影啸苍天
2017/11/08
0
0
5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 vim一般模式下复制、剪切和粘贴 5.5 进入编辑模式 5.6 vim命令

vim命令 vim和vi几乎是一样的,唯一的区别就是当编辑一个文本时,使用vi不会显示颜色,而使用vim会显示颜色。 vim有三个模式:一般模式,编辑模式,命令模式。 系统最小化安装时没有安装vim...

Champin
04/13
0
0
ubuntu系统下如何使用vim 文本编辑器?

在linux的发行版本中,系统默认都会安装vi 编辑器,vim编辑器是vi的改进版本。刚装完系统之后,系统里是没有安装vim软件包的。所以需要你手动在ubuntu系统下安装vim 文本编辑器。 vim文本编辑...

LEAN_IN
2015/01/20
0
0
vim基础-编辑模式-命令模式

编辑模式:可以编辑修改文件。编辑模式下 按“esc”键返回一般模式。 按一次“Insert”键 (一般在键盘回格键右边)作用和“i”一样表示“插入”。按两次“Insert”键表示“替换”,作用为:...

ZHENG-JY
06/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Git 基础 - 远程仓库的使用

远程仓库的使用 要参与任何一个 Git 项目的协作,必须要了解该如何管理远程仓库。远程仓库是指托管在网络上的项目仓库,可能会有好多个,其中有些你只能读,另外有些可以写。同他人协作开发某...

谢思华
6分钟前
0
0
面试宝典-悲观锁和乐观锁

悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。 乐观锁(Optimistic...

suyain
8分钟前
0
0
崛起于Springboot2.X之集成MongoDb使用mongoTemplate CRUD(27)

1、pom依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.7</version></dependency><dependency> <groupId>log4j</......

木九天
18分钟前
0
0
切分log日志

新建logback.xml放到resource里面 <?xml version="1.0" encoding="utf-8"?><configuration> <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender"> <......

talen
23分钟前
0
0
spring @Resource 和 @Autowired 的使用区别

这两个 注解 @Resource 和 @Autowired , 常识都知道 @Resource 是 JAVAEE 自带的,@Autowired 是 spring 的自定义注解。 一般情况下, 使用 bean的时候, 这两个注解 随便使用一个即可。 但...

之渊
28分钟前
0
0
springboot集成elasticsearch客户端问题记录

1背景说明 服务端ES版本为5.5.2,springboot版本为1.5.6。 工程中添加如下依赖 2问题记录 2.1 NetworkPlugin类找不到 报错java.lang.ClassNotFoundException: org.elasticsearch.plugins.Net...

zjg23
30分钟前
1
0
快速构建ceph可视化监控系统

前言 ceph的可视化方案很多,本篇介绍的是比较简单的一种方式,并且对包都进行了二次封装,所以能够在极短的时间内构建出一个可视化的监控系统 本系统组件如下: ceph-jewel版本 ceph_expor...

万建宁
30分钟前
0
0
Java构造器使用注意

public class 父类A {int age = 10;protected void say() {System.out.println("父类A");}public 父类A() {override();}public void override() {Syst...

咸鱼AI
30分钟前
0
0
TensorFlow 线性分类

构造直线 z = 2 * x - 3 * y + 4 x0*w0+x1*w1+b=0 x1=-x0* w0/w1-b/w1 斜率 k= -w0/w1 截距 -b/w1 随机生成数据,加入一定的偏差,用直线将二维平面分为两部分 使用线性模型拟合参数 损失函数...

阿豪boy
34分钟前
0
0
翻译冒泡排序测试

翻译一个冒泡排序: var a = [1,3,2,4,6,5];var f = 0;var n = a.length ;for( var i =1; i<= n; i++) { for( var j = n-1 ; j >= i; j --) { if(a[j] < a[j+1]) { ......

钟元OSS
35分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部