10.18.1 linux文本编辑器vim
vi和vim的区别
编辑一个文本时,vi不会显示颜色,而vim会显示颜色,vi 有点类似windows记事本,简单,那么就是vim复杂编辑器,功能复杂,高亮,自动缩进(写shell/python脚本用)。显示颜色更易于用户进行编辑。没有的话可以用 yum install -y vim-enhanced
vim的三种模式:一般模式、编辑模式、命令模式。
- 一般模式: 当你vim filename 编辑一个文件时,一进入该文件就是一般模式了。在这个模式下,你可以做的操作有,上下移动光标;删除某个字符;删除某行;复制、粘贴一行或者多行。
- 编辑模式:一般模式下,是不可以修改某一个字符的,只能到编辑模式了。从一般模式进入编辑模式,只需你按一个键即可(i, I, a, A, o, O, r, R)。当进入编辑模式时,会在屏幕的最下一行出现揑NSERT或REPLACE的字样。从编辑模式回到一般模式只需要按一下键盘左上方的ESC键即可。
- 命令模式:在一般模式下,输入 ”:” 或者 “/” 即可进入命令模式。在该模式下,你可以搜索某个字符或者字符串,也可以保存、替换、退出、显示行号等等。
如何在一个空白文档中写入一段文字,然后保存。
输入vim fade.txt直接回车进入一般模式。然后按 “i” 字母进入编辑模式,在窗口的左下角会显示 “– 插入 –” 或者 “– INSERT –” 这说明进入插入模式,可以编辑文档。
[root@wen data]# vim fade.txt
如果你编辑完了,想保存的话,需要先按一下键盘左上角的 “Esc” 键,此时 “– 插入 –” 或者 “– INSERT –” 消失,然后输入 ”:wq” 回车就会保存刚才的文字了。
I am learning linux
linux is like a young married woman
the most interest thing is conquer her
times won't be too long
:wq
这时,看一下fade.txt文档的内容吧:
[root@wen data]# cat fade.txt
I am learning linux
linux is like a young married woman
the most interest thing is conquer her
times won't be too long
“vim” 为全键盘操作的编辑器,所以在各个模式下都有很多功能键。
快捷键总结




问题与练习
1. vi 与 vim 有什么区别呢,它们之间有什么关系?
答:vi是早期unix自带的文本编辑器,没有颜色区别,不便于程序员做开发
vim是1991年布莱姆.米勒从vi的基础升级而发布的,人性化,带有颜色区别。
vim跟vi的关系:可以这样理解vim是vi的升级版本
2. 如何查看当前系统vim的版本?
答:可以用命令:rpm -qa |grep vim 或者 vim --version
3. 如果想把文档中出现的全部"abc"替换成"def"怎么做?又如何只替换每行中出现的第一个"abc"呢?
全部替换:
- :1,$s/abc/def/g
只替换每行中第一个出现的abc:
- :1,$s/abc/def
4. 当搜索某个关键词时,光标所定位的关键词所在的行是如何决定的?也就是说,光标是定位到最顶端出现的关键词的那行还是最底端关键词出现的那行,还是另外的情况?如果想从当前关键词移动到下一个关键词怎么操作?移动到上一个关键词又怎么操作?
答:两种情况:1、 /关键词 光标定位到最顶端出现的关键词
2、?关键词 光标定位到最底端出现的关键词
如果想从当前关键词移动到下一个关键词: /关键词,回车,按小写字母n
如果想从当前关键词移动到上一个关键词: ?关键词,回车,按小写字母n
?关键词,回车:如果光标所在行上面没有关键字的话 光标会移动到上一行或者上面最近的一行带有关键词上
/关键词,回车:如果光标所在行上面没有关键字的话 光标会移动到下一行或者下面最近的一行带有关键词上
?关键词,回车;/关键词,回车:如果光标所在行上面有 关键字的话 光标在改行的关键词上
5. 当编辑完文档后,按ESC进入命令模式,输入命令 :x 会怎么样?
答:会保存退出,相当于:wq
6. 在一般模式下如何快速的把光标快速的向右或向左移动10个字符?
答:快速向右移动10个字符:10l
快速向左移动10个字符:10h
7. vim + filename 表示什么含义, vim +10 filename 将会发生什么?
答:vim + filename 表示:打开该文档且光标移动到该文档末行;
vim +10 filename表示:打开该文档且光标移动到第十行
8. 用vim打开一个文档后,我想让光标跳到第20行,怎么做?跳到最后一行怎么做?
答:让光标移动到第20行: 20G
让光标移动到最后一行:G
9. vim 打开文档后,默认是不显示行号的,如何做让它显示行号?
答:可以输入: :set nu
10. vim打开文档后,我想把20-50行中的第一个'abc' 替换为 'efg' 怎么操作?如果是想替换所有呢?
答:替换第一个abc: :20,50s/abc/efg
替换所有abc: :20,50s/abc/efg/g
11. vim打开文档后,如何快速删除前100行?
答:快速删除100行: 100dd
12. vim打开文档后,如何复制一行,并粘贴到第20行的后面?
答:用命令: yy 复制需要复制的那行,然后输入 "20G"指定到第20行,最后按小写字母“P”粘贴即可。
参考链接http://www.apelearn.com/study_v2/
10.18.1 linux文本编辑器vim的更多相关文章
- Linux系列教程(十)——Linux文本编辑器vim
通过前面几篇博客我们终于结束了Linux常用命令的介绍,Linux常用命令主要包括以下: ①.Linux文件和目录处理命令 ②.Linux链接命令和权限管理命令 ③.Linux文件搜索命令 ④.Lin ...
- Linux文本编辑器vim
目录 1.vim 的工作模式 2.插入命令 3.定位命令 4.删除命令 5.复制和剪切命令 6.替换和取消命令 7.搜索和搜索替换命令 8.保存和退出命令 9.vim 高级操作 10.总结 通过前面几 ...
- Linux 文本编辑器 vim
第五讲 文本编辑器 vim
- linux文本编辑器vim大全
linux基础之vim编辑器 1.vim编辑器 基本介绍 vim编辑器的前身叫做vi.vi的英文名:Visual Interface.中文解释文本编辑器,你不应该用他去打开二进制可执行文件 文本编辑 ...
- Linux | 文本编辑器vim
vim 编辑器介绍 vim 编辑器是一款非常棒的文本处理工具,它会默认安装在当前所有的 Linux 操作系统上面. vim 编辑器中设置了三种模式,可以极大的提高我们的工作效率: 命令模式:控制光标移 ...
- linux文本编辑器-VIM基本使用方法
vim [OPTION]... FILE... +/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首vim + file 直接打开file,光标在最后一行 三种主要模式 ...
- linux文本编辑器vim详解
vim 1.打开文件 vim [option] - file... 打开文件 +# 打开文件后,让光标处于第#行的行首 +/字符串 打开文件后,光标处于第一个被匹配到字符串的行首 -b file 二进 ...
- linux 文本编辑器 vim 基本操作
三种模式之间转换: 一般模式 可用于光标移动.复制粘贴.查找替换 "vim.txt"表示文件名 8L 表示8行 , 80C 表示80个字符 移动光标常用操作: h .j. k. l ...
- Linux文本编辑器Vim使用
1. 插入 o 在光标下插入新行 a 在光标后插入 i 在光标前插入 O 在光标上一行插入新行 A 在光标行尾插入 I 在光标行首插入 2.光标定位 gg 到第一行行首 G 到最后一行 ...
随机推荐
- WingIIDE 6的licese破解方法(支持python3)
(1) 安装WingIDE成功后启动,激活时输入license id CN123-12345-12345-12345 (2)点击Continue后弹框,拷贝框中的request code(将其放入脚本 ...
- Nginx 配置 location 以及 return、rewrite 和 try_files 指令
正则表达式 Nginx 内置的全局变量 location 前缀字符串及优先级 示例 location 匹配原则 if 和 break 指令 if break return.rewrite 和 try_ ...
- Vagrant 手册之网络 - 概述及基本用法
原文地址 - 概述 原文地址 - 基本用法 为了访问创建的 Vagrant 环境,Vagrant 为端口转发.连接公共网络.创建私有网络等功能暴露了一些高层网络选项. 高层网络选项用于提供可以跨 pr ...
- Jenkins持续集成_01_Mac安装配置
前言 Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建.测试和部署软件.在自动化测试中,用来持续集成,跑定时任务进行定时自动化监测.更详细介绍可查看jenkins官网: ...
- 网络流强化-HDU2732
第一次遇到加了“多余”的边会导致WA的——在我看来是很多余,见代码191行 之后会思考为什么,想出来再更. 问题弄明白了,如果你在连接边连了一条到没有柱子的点的边,这个没有柱子的点是不可能连到终点的, ...
- MySQL 查询语句--------------进阶7:子查询
#进阶7:子查询 /* 含义: 出现在其他语句中的select语句,称为子查询或者内查询 外部的查询语句,称为主查询或外查询 分类: 按照子查询出现的位置: select后面:只支持标量子查询 fro ...
- Filter 和Listener
Filter 和Listener Filter : 过滤器 1.概念 浏览器发出请求访问服务器的资源,过滤器将请求拦截,完成一些特殊的功能. 作用:一般用于完成通过的操作.如:登陆验证.统一编码处理. ...
- JSP基础--会话跟踪技术、cookie、session
会话跟踪技术 1 什么是会话跟踪技术 我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应.例如你给10086打个电话,你就是客户端,而10 ...
- Object.entries
const reduce = Function.bind.call(Function.call, Array.prototype.reduce); const isEnumerable = Funct ...
- spring-第三篇之ApplicationContext的事件机制
1.通过ApplicationEvent类和ApplicationListener接口,可以实现ApplicationContext的事件处理. 如果容器中有一个ApplicationListener ...