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 到最后一行 ...
随机推荐
- 007-TreeMap、Map和Bean互转、BeanUtils.copyProperties(A,B)拷贝、URL编码解码、字符串补齐,随机字母数字串
一.转换 1.1.TreeMap 有序Map 无序有序转换 使用默认构造方法: public TreeMap(Map<? extends K, ? extends V> m) 1.2.Ma ...
- Python笔记(十九)_继承
继承 继承可以把父类的所有功能都直接拿过来,这样就不必从零做起,子类只需要新增自己特有的方法,也可以把父类不适合的方法覆盖重写 多重继承 通过多重继承,一个子类就可以同时获得多个父类的所有功能 > ...
- 全文搜索 ElasticSearch
今天突然想了解一下ES,看看有什么优势,能不能用在项目中. 说到ES就不得不了解它的底层技术-全文检索 Ref: 全文检索的基本原理 https://blog.csdn.net/wangmaohong ...
- MapReduce(1): Prepare input for Mappers
According to Wikipedia MapReduce, there are two ways to illustrate MapReduce. One contains three ste ...
- [LeetCode] 461. Hamming Distance(位操作)
传送门 Description The Hamming distance between two integers is the number of positions at which the co ...
- typedef&define的用法与区别
1. typedef typedef故名思意就是类型定义的意思,但是它并不是定义一个新的类型而是给已有的类型起一个别名,在这一点上与引用的含义类似,引用是变量或对象的别名,而typedef定义的是类 ...
- ELMO,BERT和GPT简介
1.Contextualized Word Embedding 同样的单词有不同的意思,比如下面的几个句子,同样有 “bank” ,却有着不同的意思.但是用训练出来的 Word2Vec 得到 “ban ...
- Spring学习(六)--渲染Web视图
一.将模型数据渲染为Html 在上一篇文章中,我们所编写的控制器方法都没有直接产生浏览器中渲染所需的HTML.这些方法只是将数据填充到模型中,然后将模型传递给一个用来渲染的视图.这些方法会返回一个St ...
- An easy problem (位运算)
[题目描述] 给出一个整数,输出比其大的第一个数,要求输出的数二进制表示和原数二进制表示下1的个数相同. [题目链接] http://noi.openjudge.cn/ch0406/1455/ [算法 ...
- Node.js 中监听 redis key 过期事件
It is in fact possible to listen to the “expired” type keyevent notification using a subscribed clie ...