1、打开vim 的方式有三种:
#vim file 1.文件不存在时,新建文件并可以写入内容
2.文件存在时,可以直接编辑文件内容
3、可以打开vim 编辑,在退出的时候 :wq file 即可保存为名称为file,若file存在的时候用wq! file
vim westos
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