Linux网课学习笔记2——文本编辑器vim

vim的工作模式

vi:Visual Editor的缩写,是一种命令行界面的文本编辑器。

vim:Vi IMproved(增强版vi)
1、用不同颜色显示文字内容(vi的是黑白的)
2、进行诸如shell脚本,c等程序编辑功能
3、可以视为一种程序编辑器。
在这里插入图片描述

vim安装命令

yum install -y vim-enhanced

vim的3种工作模式(重点)

 ①一般模式(也叫指令模式):光标移动、删除、复制粘贴、查找替换。
 
 ②编辑模式:编辑文本,进行文本的插入或者替换等。
 
③命令行模式:保存文件,离开vi,读入文件,显示行号等。

在这里插入图片描述
在这里插入图片描述
操作:
运行vim

vim   filename

如果有该文件,则打开文件;如果没有,则新建文件,因此,该命令无论什么时候都不会报错。
在这里插入图片描述
回车进入vim工作界面,此时是一般模式:
在这里插入图片描述
如果要输入内容,要从一般模式切换成编辑模式(输入i,I,a,A,r,R任意一个):
①插入模式(insert):i, I

②插入模式(append):a , A

③插入模式(open): o , O

④替换模式(replace):r, R

注意:按【Esc】键退出编辑模式,回到一般模式中。
在这里插入图片描述
输入完成后,要保存,在编辑模式不能保存,要用命令行模式。编辑模式不能直接切换成命令行模式,要先切成一般模式(按Esc),再切命令行模式(按:):
在这里插入图片描述

vim常见命令

一般模式下的快捷键

移动光标:

h, j, k, l, H, M, L,G, 1G, nG, n<space>, n[Enter], 0或者【Home】, $或者【End】

删除、复制与粘贴:

x相当于【Del】,X,nx,dd,ndd,d1G,dG,d$,d0,yy,nyy,y1G,yG,y0,y$,

p为将已复制的数据在光标下一行粘贴(小写p),

P为将已复制的数据在光标上一行粘贴(大写P)

u:复原前一个操作

【Ctrl】+r:重做上一个操作

. :重复前一个操作

查找与替换:

 /word     ?word       n       N
:n1,n2s/word1/word2/g
 :1,$s/word1/word2/g
 : 1,$s/word1/word2/gc

在这里插入图片描述
n+方向键(n为一个数字):移动多个字符
例:
光标向左移动8个字符:8h 或 8←
光标向右移动20个字符:20l 或 20→ 或20空格

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

vim的其他事项——文件救援

在使用vim 编辑时, vim 会在被编辑的文件的目录下,再建立一个名为 .filename.swp的文件(临时的交换文件,用于备份缓冲区中的内容)。

如果只读取文件,没有对文件进行修改,是不会建立.filename.swp文件的。

如果你的系统因为某些原因断线了, 导致你编辑的文件还没有储存,就可以通过.filename.swp恢复原文件

在这里插入图片描述
操作:

新建文件:
在这里插入图片描述
回车,按i,输入文本内容:
在这里插入图片描述
不保存,之间关掉终端,然后再次打开终端,查看文件,看到产生了.swp文件:
在这里插入图片描述
再次打开aa.txt:
在这里插入图片描述
在这里插入图片描述
如果要恢复,按R,回车,就回到编辑页面了
这次按Esc,输入:wq保存:
在这里插入图片描述
然后再进一次:
在这里插入图片描述
还是会看到以下界面;
在这里插入图片描述
因为.swp还没有删除,要手动删除之后,才不会有这个提示:
在这里插入图片描述
然后再 vim aa.txt就是直接正常打开了

vim的其他事项——改变颜色

vi /etc/profile 打开文件:
在这里插入图片描述
可以看到字体是纯黑的
vim /etc/profile 打开:
在这里插入图片描述
可以看到代码是有颜色的,可读性较好
(所以推荐编程序时使用vim)

vim的其他事项——多窗口编辑

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
操作示例:
这里用O,垂直分割:
在这里插入图片描述
在这里插入图片描述
要切换的话,先按Ctrl+w,松手,然后按←或→,每次切换都要先按一次Ctrl+w

如果现在只想保留当前的窗口,其他的都关掉,按Esc,输入:only,回车;

此时想再打开3.java文件,按Esc,输入:sp 3.java
在这里插入图片描述
此时上面是3.java,下面是2.java

如果想退出2.java,保留3.java,先Ctrl+w,松手,按↓,切到2.java的窗口,然后按Esc,输入:q ,就只剩下3.java:

vim的其他事项——多文件编辑

在这里插入图片描述
操作示例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
但是切换不是循环结构,再输入:n不会回到1.java,要回1.java只能通过:N
在这里插入图片描述
如果要查看现在vim都打开了哪些文件,用:files
在这里插入图片描述
后面的行数是说明之前打开文件时光标最后停在了哪一行

vim的其他事项——块选择

在这里插入图片描述
操作示例:
在这里插入图片描述
按下v:
在这里插入图片描述
此时按上下左右的箭头就可以进行字符选择,这里选择到三个单词,然后按y就可以复制:
在这里插入图片描述
到最后一行,按p,就可以进行粘贴:
在这里插入图片描述
按V,按上下箭头可选择行:
在这里插入图片描述
按y,复制:
在这里插入图片描述
下面没有行号了。就按i进入编辑模式,敲几个回车,按Esc回到一般模式,按p粘贴:
在这里插入图片描述
区块选择:
按Ctrl+v,按箭头选择(是长方形的):
在这里插入图片描述
按y复制,按p粘贴
删除也一样,选中,然后按d删除

综合练习

1.请在 /tmp 这个目录下建立一个名为 vimtest 的目录;

mkdir /tmp/vimtest

2.进入 vimtest 这个目录当中;

cd /tmp/vimtest

3.将 /etc/man.config 复制到本目录下;

cp /etc/man.config .

4.使用 vim 打开本目录下的 man.config 这个文件;

vim man.config

5.在 vim 中设定一下行号;

:set nu     (然后你会在画面中看到左侧出现数字即为行号。)

6.移动到第 58 行,向右移动 40 个字符,请问你看到的双引号内是什么目录?

先按下『58G』再按下『40→』会看到『/dir/bin/foo』这个字样在双引号内;

7.移动到第一行,并且向下搜寻一下『 bzip2 』这个字符串,请问他在第几行?

先执行『1G』或『gg』后,直接输入『/bzip2』,则会去到第 118 行才对!

8.接着下来,我要将 50 到 100 行之间的『小写 man 字符串』改为『大写 MAN 字符串』,并且一个一个挑选是否需要修改,如何下达指令?如果在挑选过程中一直按『y』,结果会在最后一行出现改变了几个 man 呢?

直接下达『 :50,100s/man/MAN/gc 』即可!若一直按『y』最终会出现『在 23 行内置换 25个字符串』的说明。

9.修改完后,突然反悔了,要全部复原,有哪些方法?

(1)简单的方法可以一直按『 u 』回复到原始状态,
(2)使用丌储存离开『 :q! 』之后,再重新读取一次该文件;

10.我要复制 65 到73 这九行的内容(含有MANPATH_MAP),并且贴到最后一行之后;

『65G』 然后再『 9yy 』之后最后一行会出现『复制九行』之类的说明字样。按下『 G 』到最后一行,再给他『 p 』贴上九行!

11.21 到 42 行之间的开头为 # 符号的批注数据我不要了,要如何删除?

因为 21~42 22 行,因此『 21G 』→『 22dd 』就能删除22 行,此时你会収现游标所在 21 行的地方变成MANPATH 开央啰, 批注的 # 符号那几行都被删除了。

12.将这个文件另存成一个 man.test.config 的文件名;

『 :w man.test.config 』,你会发现最后一行出现 "man.test.config" [New].. 的字样。

13.去到第 27 行,并且删除 15 个字符,结果出现的第一个单词是什么?

『27G』 之后,再给他『15x 』即可删除 15 个字符,出现『 you 』的字样;

14.在第一行新增一行,该行内容输入『I am a student…』;

先『 1G 』去到第一行,然后按下大写的『 O 』便新增一行且在插入模式;开始输入『I am a student...』后,按下[Esc]回到一般模式等待后续工作;

15.储存后离开vim。

:wq
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值