vim的前身是vi,vim是vi现在加强版基本都用了。vim它的作用是建立、编辑和显示文本文件,vim没有菜单,只有命令,vim还有很多用法。今天我只分享。vim常用的用法主要是满足日常工作的需要。
先来看一张vim借用兄弟连课件中的图片:
还是很清楚的,分为命令模式、插入模式和编辑模式,可以按命令模式进行i,a或者o键进入插入模式ESC键返回命令模式,输入命令模式:输入编辑模式,命令以返回车辆结束,返回命令模式,输入:wq保存并退出,好了,下面我们来具体实践一下:
首先输入vim fq.list创建一个fq.list并打开文件
这样,我们就进入了命令模式,在这种模式下,我们不能编辑内容。如果我们想编辑内容,我们需要进入插入模式
一 插入命令 i a o I A O
1 a:插入光标所在字符后,按a进入编辑模式
下面的INSERT代表味着我们已经进入了编辑模式。此时,我们可以输入内容。好吧,让我编辑一些内容。当我不想再编辑时,我可以按ESC回到命令模式,回到命令模式,INSERT就会消失
2 A:插入光标所在的行尾,比如我现在的光标在这个位置
在命令模式下,我按了A之后
,光标跳到行尾并进入插入模式
3 i:插入光标所在的字符前,例如,我现在的光标在这个位置
我在命令模式,按了i之后,再输入内容d
我们发现d的内容输入在i的前面,之前的a命令输入到i的后面
4 I:在光标所在地行首输入
这个就不演示了
5 o:在光标所在行的下一行输入,例如,我现在在这个位置
然后我输入o命令
我们在下一行看到光标。
6 O:在光标锁的最后一行输入,类似让我们来看看定位命令
二 定位命令
1 set nu :设置行号
2 set nonu:取消行号
3 :n 将光标移动到第nhang
4 0:移至行首
5 $:移到行尾,这两个就不演示了。
三 删除命令
1 x 删除光标所在地的字符
现在光标在i处,我按命令模式x
发现被删除了
2 nx 删除光标所在地后n个字符
我在命令模式下按5x
3 dd 删除光标所在行
我按下dd之后,第三行整行被删除
4 :n1,n2d 删除制定范围的行
例如,我在刚才的基础上输入:1,2d
我们发现第一行和第二行被我们删掉了
三 复制和剪切命令
1 yy复制当前行,p/P粘贴当前光标所在行下或行上
例如,我现在的文本是这样的
我按yy,然后按p
2 dd当前剪切,p/P粘贴当前光标所在行下或行上
这个跟上面类型,就不演示了,好了,那么如果我想复制多行怎么办呢
先用鼠标选择我想复制的区域,然后按下y,然后进入编辑模式,然后按鼠标右键,通常这就足够了
四 替换和取消命令
1 r取代光标所在的字符
例如,我现在想取代它u,那么按r,然后输入a
我们发现u变成了a
2 R直接从光标所在地更换字符ESC结束
3 u取消上一步只能是上一步
五 搜索和搜索替换命令
1 /string 如果您想忽略大小写,请在搜索前输入指定字符串:set ic,搜索结果后,按n可以找到下一个
比如我现在想搜Donglu
2 :%s/old/new/g 替换指定字符串的全文
比如我现在想把Donglu替换成damingbai
3 :n1,n2s/old/new/g 在指定范围内更换,不会演示
六 保存和退出命令
1 :wq保存、修改和退出
2 :q!不保存修改和退出
3 ZZ 保存、修改和退出的快捷键
七 导入命令执行结果:r !命令
比如我现在想把date本文件中的执行结果:r !date
注意放在光标所在地
八 定义快捷键
:map 快捷键 触发命令
:map ^P I#
这个命令是什么意思,就是把Ctrl P快捷键定义为I#,I将代表定位到行首并进入插入模式,然后插入#号,然后返回命令模式,定义快捷键,然后直接添加注释#Ctrl P即可
删除#呢
:map ^B 0x 0代表移动到行首,x代表删除当前光标所在的字符
九 连续行注释
:n1,n2s/^/#/g
^代表行首
我们想注释第一行和第二行
取消注释
:n1,n2s/^#//g
如果是///这个注释
:n1,n2s/^/\/\//g 需要加\转义字符
十 替换
:ab donglu lixin ,比如以后想输入donglu,自动变为lixin
接下来,我将进入插入模式输入donglu然后空格或回车
这里变成了lixin
嗯,刚才这些快捷键或者替换,重启或者重新连接后会失效。我该怎么办?home//当前用户创建.vimrc文件,然后保存新设置,不需要开始:所以每次重新启动或重新连接,配置的快捷键和替换总是有效的
Linux文本编辑器vim这里总结了一般用法。事实上,vim还有很多其他的用法我们知道以上操作足以应付日常工作。今天的总结到此为止。如有问题,请纠正。非常感谢。