vim 学习
Vim 是一个功能强大的全屏幕文本编辑器,是 Linux 上最常用的文本编辑器,它的作用是建立、编辑、显示文本文件。
Vim 是Vi发展出来的,相当于升级版。
Vim 没有菜单,只有命令。
下载
yum -y install vim
下载并安装vim编辑器
三种使用模式
Vim共分为3种模式,分别是:命令模式、编辑模式、底线命令模式
命令模式
刚启动Vim,便进入了命令模式
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i
,并不会输入一个字符,i
被当做一个命令,然后进入编辑模式。
常用到的几个命令:
i
切换到输入模式x
删除当前光标所在的字符:
切换到底线命令模式,在最底一行输入命令。如果是编辑模式,需要先按esc
键退出,会进入命令模式,然后再按:
进入底线命令模式esc
退出模式
切换到编辑模式
i
进入编辑模式,从光标所在处输入I
进入编辑模式,在光标所在行的第一个非空格字符处开始输入a
进入编辑模式,从光标所在的下一个字符开始输入A
进入编辑模式,从光标所在行的最后一个字符处开始输入o
进入编辑模式,从光标所在行的下一行,输入一个新的一行O
进入编辑模式,从光标所在行的上一行,输入一个新的一行r
进入编辑模式,取代光标所在的那一个字符R
进入编辑模式,会一直取代光标所在的文字,知道按下esc
为止
显示行号
:set nu
显示行号
光标移动
h 或者方向左键
左移一个字符j 或者方向下键
下移一行k 或者方向上键
上移一行l 或者方向右键
右移一个字符+
光标移动到非空格符的下一行-
光标移动到非空格符的上一行数字 + 空格
光标向右移动n位数字 + 回车
光标向下移动n行0
移至行首,数字0$
移至行尾H
移至屏幕最上面一行的第一个字符M
移至屏幕中央的一行的第一个字符L
移至屏幕最下面一行的第一个字符G
移动到文件最后一行gg
移动到文件第一行数字G
移动到到第n行
搜索和替换
/word
向光标下搜索指定word的字符串,搜索时忽略大小写:set ic
?word
向光标上搜索指定字符串n
按键n
,表示next
下一个搜寻动作。比如:我们执行/hello
,会向下搜索hello这个字符串,并将光标移动至找到的第一个,这时按下n
键,则会继续搜寻下一个符合条件的字符串。N
向上搜寻
删除命令
x
向后删除一个字符,相当于delete
X
向前删除一个字符,相当于backspace
数字x
向后删除n个字符,比如10x
。dd
删除光标所在行数字dd
向下删除n行dG
删除光标所在行到最后一行的内容d1G
删除光标所在到第一行的内容d$
删除光标所在到该行最后一个字符d0
数字0,删除光标所在到该行行首的所有字符
复制和剪切
yy
复制当前行数字yy
复制当前行以下n行y1G
复制光标所在行到第一行的所有数据yG
复制光标所在行到最后一行的所有数据y0
数字0,复制光标所在字符到该行行首的所有字符y$
复制光标所在字符到该行最后一个字符p
小写,粘贴在当前光标所在行的下一行P
大写,粘贴在当前光标所在行的上一行J
将光标所在行与下一行的数据合并
取消
u
取消上一步操作Ctrl + r
重做前一个动作
底线命令模式
保存和退出
:w
保存修改:w!
强制写入:w >> a.txt
内容追加到a.txt文件中,需存在a.txt文件:q
退出:q!
强制退出,不保存修改:wq
保存修改并退出:wq!
强制保存修改并退出(可忽略文件的只读属性)ZZ
大写,快捷键,保存修改并退出:w new_filename
另存为指定文件:r new_filename
编辑的时候,读入另一个档案的数据。即将filename
这个文件的内容加到光标所在行后面:n1,n2 new_filename
将n1到n2的内容,另存为指定文件:!command
暂时离开vim到底线命令模式下执行command的显示结果。比如::! ls /home
,即可在vim中看到/home
目录下的各目录及文件信息:set nu
显示行号:set nonu
取消行号
删除命令
:n1,n2d
删除指定范围的行
搜索和替换
:%s/old/new/g
全文替换指定字符串:n1,n2s/old/new/g
在一定范围内替换指定字符串
定位命令
:n
到第n行