linux之Vim使用

一、Vim的介绍

vim有三种模式:普通模式、编辑模式、命令模式

普通模式:通过操作光标移动来对文本进行复制、粘贴、删除、剪贴、翻页等操作

编辑模式:主要是对文本内容编辑和修改。

命令模式:主要是进行保存、退出操作,还可以进行文件内容另存、读入、查找、替换、显示行号等操作

 

二、Vim的使用

 1、普通模式

# 1、光标移动
h # 向左移动一个字符 l # 向右移动一个字符 k # 向上移动一个字符 j # 向下移动一个字符 ''' 在前面加个数字,则表示移动多少个字符 5j 向下移动5个字符 ''' n+空格(n是数字) #表示光标向右移动n个字符,如果该行字符数小于n,则光标继续从下行开始向右移动,一直到n H #光标移动到当前屏幕最顶行 M #光标移动到当前屏幕中间那一行 L #光标移动到当前屏幕的最底行 G #光标移动至文本末端 nG #光标移动到文本的第n行 gg #光标移动至文本顶端 Ngg #光标移动至当前文件内的N行,如3gg表示移动到第3行 $ #光标移动至当前光标所在行的尾部 ^或者0 #光标移动至当前光标所在行的首部 n+回车 #光标向下移动n行 #2、翻页 ctrl+f #往下翻页(行比较多) ctrl+b #往上翻页 ctrl+d #往上翻半页 ctrl+u #往下翻半页 #3.复制与粘贴 yy #复制当前光标所在的行 5yy #复制当前光标以及光标向下4行(也就是包括当前光标行的5行) y1G #复制光标所在行到文本第一行的所有数据 yG #复制光标所在行到文本最后一行的所有数据 p(小写) #粘贴至当前光标下一行 P(大写) #粘贴至当前光标上一行 #4.删除、剪贴、撤销 dd #删除当前光标所在的行 4dd #删除当前光标所在的行以及往下的3行 d1G #删除当前光标所在行到第一行的所有内容 dG #删除当前光标以后的所有行 D #删除当前光标及光标以后的内容 x #删除当前光标标记往后的字符 X #删除当前光标标记往前的字符 nx/nX(n为数字) #向后/向前删除n个字符 dd & p #剪贴、先删除dd(number dd),后粘贴p u #撤销上一次的操作 #5.查找和替换 r #替换当前光标标记的单个字符 R #进入REPLACE模式, 连续替换,ESC结束

 2、编辑模式

i    #进入编辑模式,在当前光标字符前插入
a   #进入编辑模式,将当前光标字符后插入
o   #进入编辑模式,并在当前光标下添加一行空白内容
O   #进入编辑模式,并在当前光标上添加一行空白内容
I    #进入编辑模式,在光标的所在行的行首插入
A   #进入编辑模式,在光标的所在行的行尾插入

3、命令模式

#1.文件保存与退出
:w      保存当前状态
:w!     强制保存当前状态
:q      退出当前文档(文档必须保存才能退出)
:q!     强制退出文档不会修改当前内容
:wq     先保存,在退出
:wq!    强制保存并退出
:x      先保存,在退出
ZZ      保存退出, shfit+zz
:number 跳转至对应的行号
:set nu 显示行号
:set nonu 不显示行号

#2.文件内容查找
/string #需要搜索的内容(查找)
n       #按搜索到的内容依次往下进行查找
N       #按搜索到的内容依次往上进行查找
/字符(如/world) #向光标之后 寻找字符串为world的字符串,按“n"继续搜后一个
?字符(如?world)#向光标之后 寻找字符串为world的字符串,按“n"继续搜前一个
:%s/string//gn  #搜索string字符串,并返回结果个数以及行数
'''
区分大小写的设置
# 这两条命令,只有vim没有重启,则一直生效,会影响其他命令结果
:set ic   #不区分大小写
:set noic #区分大小写
# 这两条命令,执行才有有效,不影响其他命令执行
/\Cmysql  #区分大小写
/\cmysql  #不区分大小写
'''

#3.文件内容替换
:1,5s#root#test#g   #用test替换1-5行中的root字符串
:1,5s#root#test#    #将1-5行中第一个root字符串替换为test
:%s#sbin#test#g     #将整个文本文件中sbin字符串替换为test
:%s#sbin#test#gc    #替换内容时时提示是否需要替换

#4.文件内容另存
:w /root/test.txt  #将vim打开的文件的所有内容另存为/root/test.txt文件中

#5.文件内容读入
:r  /etc/hosts  #将/etc/hosts文件内容读入到当前光标下面
:5r /etc/hosts  #指定插入/etc/hosts文件至当前文件的第五行下面

4、视图模式(批量操作)

ctr+v:  #进入视图模式,选中的是光标的位置
shift+v:#进入视图模式,选中当前光标的整一行内容
#1、批量添加注释
ctr+v,选中多行注释符的位置,再按r输入“#”进行批量添加

三、Vim的其他知识

1、环境变量配置

~/.vimrc:个人环境变量

/etc/vimrc:全局环境变量

注意:个人环境变量优先级高于全局,也就是优先使用个人环境配置

2、文件的高级操作

(1)同时编辑多个文件

vim -o file1 file2    #水平分割
vim -O file1 file2   #垂直分割

(2)相同文件之间差异对比

diff file1 file2     #文件对比
vimdiff file1 file2 #以vim方式打开两个文件对比,高亮显示不同的内容

 

 

 

 (3)因非正常关闭Vim引起的异常

如:意外、强制退出终端、非正常退出(ctr+z)vim,再次打开该文件引起的错误,解决方法

删除同文件名的.swp文件即可

rm -f .filename.swap

 

posted @ 2021-01-07 21:57  NQ31  阅读(195)  评论(0编辑  收藏  举报