1、打开vim 的方式有三种:

#vim file       1.文件不存在时,新建文件并可以写入内容
                     2.文件存在时,可以直接编辑文件内容
                     3、可以打开vim 编辑,在退出的时候  :wq file 即可保存为名称为file,若file存在的时候用wq! file

vim westos

macos sudo vim 强制写入_分屏

2、vim 模式:

命令模式(浏览模式):
1、此模式下只能对文件内容浏览
2、对vim的工作方式进行设定
3、不能修改文件内容

插入模式 i #对文件内容进行修改的模式

退出模式 #结束vim程序使用到的指令
:q ##退出
:wq ##保存退出
:wq! ##强行保存退出只有文件是自己的或者root用户可用
:q! ##强制退出不保存
:wq file
:wq! file
vimtutor 查看vim帮助 也可以vim打开输入:help也可以查看帮助

3.vim工作方式基本配置

在命令模式下如何更改vim的工作方式?

3.1临时设定

命令

功能

:set

设定

:set nu

#显示行号

:set nonu

#取消行号显示

:set mouse=a

#鼠标可用

:set cursorline

#显示光标所在行的行线

3.2永久设定方式

vim /etc/vimrc      ##vim全局配置文件   for all user (千万不要瞎设定,一般就在最后一行设定就行了)
 set nu           
 vim ~/.vimrc        ##用户级vim的配置文件,只针对指定用户生效 
 set nu

4、搜索

命令

功能

/关键字

##高亮显示关键字

:noh

##取消高亮显示

n

##向下匹配关键字

N

##向上匹配关键字

4.vim中的字符管理

5、复制

命令

功能

y

##复制快捷键

yl

##复制一个字母

y3l

##复制三个字母

yw

##复制一个单词

y3w

##复制三个单词

yy

##复制一行

y3y

##复制三行

注意:删除 、复制都是向下进行的若要向上删除或在复制则用d3上、y3上

6、删除

命令

功能

d

##删除的快捷键

dl或x

##删除一个字母

d3l

##删除三个字母

dw

##删除一个单词

d3w

##删除3个单词

dd

##删除一行

d3d

##删除3行

注意:删除 、复制都是向下进行的若要向上删除或在复制则用d3上、y3上

7、剪切

命令

功能

c

##剪切

cl

##剪切1个字母

c3l

##剪切3个字母

cw

##剪切1个单词/

c3w

##剪切3个单词

cc

##剪切1整行

c3c

##剪切3整行

注意: 剪切操作完毕后会进入到插入模式"如果要粘贴需要按退出插入模式按P"

8、粘贴

命令

功能

p

##在命令模式下p表示粘贴

9、恢复

命令

功能

u

恢复

10、撤销

命令

功能

ctrl+R

##撤销恢复

11、vim可视化模式

ctrl+v ##进入可视化模式退出可视化模式
看是需要复制、剪贴还是删除,在需要复制、剪贴时按相应的复制剪贴键之后。

批量添加字符:
1.ctrl+v 选中插入字符所在列
2.按大写I进入插入模式
3.在需要插入的地方插入要写入的字符
4.退出插入模式
批量添加完成

12、批量修改字符

:%s/原字符/替换字符/g                %s表示全文所有的行,g全文的列
  :%s/:/ /                          表示替换出现每一行第一个:为空
  :1,5s/:/##/g                      1,5  表示1-5行的:换成了##,也可以只改某一行
  :/lp/,/halt/s/:/##/g             /lp/,/halt/ lp字符到halt字符之间的:换成了##

13 、vim 同步分屏功能

命令

功能

ctrl+ w s

##上下分屏

ctrl+ w v

##左右分屏

ctrl+ w上、下、左、右

##光标移动

ctrl + w c

##取消分屏

14、不同步分屏

命令

功能

:sp 文件名称 (可以用vim 先打开一个,然后用:sp文件名称再打开一个,然后一个一个退出)

vim -o file1 file2 … 上下分屏

#光标上下----ctrl+ w 上、下

vim -p file1 file2 … 左右分屏

# :tabn -下一个 tabp: —上一个

15.vim中快速定位光标

命令

用途

gg

##光标移动到文件第一行行首

G

##光标移动到最后一行

:数字

##光标移动到指定行

16、vim插入模式进入方式

命令

用途

i

#光标所在位置插入

I

#光标所在行行首插入

A

#光标所在行的行尾插入

a

#光标所在字符的下一个字符插入

o

#光标所在行的下一行插入

O

#光标所在行的上一行插入

s

#删除光标所在字符插入

S

#删除光标所在行插入

练习题:
查找一个字符串
在文件/usr/share/xml/iso-codes/iso_639_3.xml 中查找到所有包含字符ng的行
将找出的行按照先后顺序复制到/root/list文件中
/root/list文件中无意义的空格请去除掉
其中所有行的内容必须是源文件中原始的标准副本

^ 表示以啥开头

[root@foundation50 ~]# grep ng /usr/share/xml/iso-codes/iso_639_3.xml > /root/list
 vim  /root/list
 :%s/^\ */ /g  删除开头空格
 :%s/^I/ /g  删除tab