五.Vim文档编辑

文本编辑器的作用:

创建或修改文本文件

维护Linux系统中的各种配置文件

Linux中最常用的文本编辑器:

vi:类Unix系统中默认的文本编辑器

vim:vi编辑器的增强版本,习惯上也称为vi(高亮显示,就是有颜色)

[root@localhost ~]# yum install -y vim

1.vim工作模式

vim常用的工作模式有:命令模式、末行模式和编辑模式

命令模式:也称普通模式,控制光标移动,可对文本进行复制、粘贴、删除和查找等工作。

输入模式:也称插入模式,正常的文本录入。

末行模式:也称命令末行模式,保存或退出文档,以及设置编辑环境。

直接输入vim命令,即可开启文本编辑器,默认创建一个新文件(如果存在,vim将打开文件;如果不存在,则创建该文件)

[root@localhost ~]# vim /etc/passwd       #进入命令模式,光标可以任意移动

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/n

vim会默认进入普通模式,进入插入模式可以通过按键进入:

a         在光标后面插入新内容

A         在光标所在行的行尾插入新内容

i          在光标所在地之前添加

I          在行首插入新内容

o         在光标所在行之后添加新行

O        在光标所在行之前插入新行

2.光标操作

移动光标方法:适用方向键(上、下、左、右)

快捷键   功能

gg         直接跳转到行首(d gg 删除光标所在行到文档首部的全部内容)

G          跳转转到行尾的首部(d G 删除光标所在行到文档尾部的全部内容)

nG        表示直接跳转到n行首

$           跳转到光标所在行的行尾(d $ 删除光标所在字符到行尾所有内容,包括光标所在处字符)

^           跳转到光标所在行的行首(d ^ 删除光标所在字符到行首内容,不包括光标所在行处的字符

w          按单词进行跳转(d w 按单词进行删除)

r           替换光标所在处字符

h          光标往左移动

j           光标往下移动

k          光标往上移动

l           光标往右移动

3.编辑文档

编辑文档有两种模式:进入编辑模式操作和快捷键操作

快捷键 功能

d         删除光标所在位置方向键指向的字母(上下删除上下行)

dd        删除一行

d$        删除光标之后

u          撤销上一步操作,保存之后,就不能撤销了

gg        直接跳转到行首(d gg 删除光标所在行到文档首部的全部内容)

nG       跳转转到行尾的首部(d G 删除光标所在行到文档尾部的全部内容)

yy        复制光标所在行

nyy      复制光标所在后n行

p          粘贴至当前之后

P          粘贴至当前之前

x          直接往右删除,不需要进入删除模式

s          删除光标所在处字符并进行插入模式

w         按单词进行跳转(d w 按单词进行删除)

J          删除换行符,可以将两行合并为一行(等于^跟删除键)

cc        剪切 并进入插入模式

rx         将光标字符替换为x(x可为任意单词)

line_num cc         剪切多少行

ctrl+w        删除一个单词

ctrl+r     当前重做操作

4.替换与查找

查找替换(没有空格):

:s/被替换内容/替换内容/                    表示将当前行中出现的第一个 被替换内容 替换为 替换内容,没有则不替换

:s/被替换内容/替换后的内容/g           表示将当前行中所有的 被替换内容 替换为 替换内容,没有则不替换(g 表示行)

:ns/被替换内容/替换后的内容/g         表示第n行中所有的 被替换内容 替换为 替换内容,没有则不替换

:% s/被替换内容/替换后的内容/g       表示替换所有被匹配到的关键字 (% 表示全局)

:% s/被替换内容/替换后的内容/         表示查找当前文件中所有的 被替换内容 替换 成替换后的内容,但是每行匹配到的只替换第一个匹配到的

:%s/被替换的关键//g                          表示删除匹配到的所有关键字

查找字符串:

?         关键字 表示在文档中查找关键字

n         在所有匹配到的关键字之间往前循环切换

N         在所有匹配到的关键字之间往后循环切换

/          关键字 表示在文档中查找关键字

n         在所有匹配到的关键字之间往后循环切换

N         在所有匹配到的关键字之间往前循环切换

5. 保存并退出

一般情况下,会通过命令末行模式输入特点定的指令实现保存和退出,都以”:“开头:

:w         保存

:q          退出

:wq       保存退出

:w         filename 另存为 filename

:q!         强制退出不保存

:x          保存退出

:r /dir1/dir2/filename         表示读取指定文件的内容到当前文件

:line_num         表示直接跳转到指定行行首

6.扩展

6.1 显示行号

:set nu         显示行号

:set nonu         取消显示行号

6.2 忽略大小写

:set ignorecase         忽略大小写

6.3 多窗口编辑

快捷键         功能

:sp [filname]         打开一个新的窗口,如果没有filename,会默认打开一个当前文本的窗口,同步显示。有则会同时显示fileame和origin两个文本。

[ctrl] + w +w         切换到另外一个窗口

[ctrl] + w +j或[ctrl] + w + 向下箭头         跳到下一个窗口。

[ctrl] + w + k或[ctrl] + w + 向上箭头         跳到上一个窗口

[ctrl] + w + q         与 :q 相同 就是离开当前编辑窗口,但是不会保存编辑信息。若要保存,可以使用 :wq 保存离开操作。

[ctrl] + w +h         跳到左边窗口。

[ctrl] + w + l         跳到右边窗口

:close         可以关闭窗口

:split         水平分割窗口

:vsplit         垂直分割窗口

6.4 执行shell命令

需要执行一条shell命令不想退出vim编辑器时:

:!{命令} 需要查看当前目录下文档的名称(可以不用{}),按回车键返回vim编辑器

#在命令末行中输入 :!ls
[root@localhost ~]# vim /etc/passwd
aaaa		 initial-setup-ks.cfg  messages3
anaconda-ks.cfg  messages	       messages.tar.gz
file2		 messages1	       wyy.tar.bz2
id_rsa.pub	 messages2
Press ENTER or type command to continue

6.5 自动补齐

要输入的内容之前已经出现过,可以实现自动补全。

在输入命令的前几个字母后使用快捷键ctrl+N,实现自动补全

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值