木夕的IC日记——Vim使用【一】

Vim的运行方式

作为Linux系统中最常用的文本编辑器,Vim体现了Linux“万物皆是文件”的设计哲学。通过Vim,你可以编辑权限允许范围内的所有内容,甚至Vim软件本身的配置文件也是可以通过Vim来修改的。
描述Vim运行的状态机

Vim的运行方式可以看作是一个如图所示的状态机。当我们进入Vim时,首先会进入命令模式
在命令模式中,我们可以完成一些如复制、剪切、粘贴之类的操作。处在命令模式中的时候,我们可以按下i键进入编辑模式o键和a键也可以,但是最常用的还是i键),这一点很好记住,因为i是单词insert的首字母。
在编辑模式中,我们可以像Windows系统中的记事本一样使用Vim,可以自由输入与删除内容。编辑好内容以后,按下esc键就会返回命令模式。在命令模式中按下:键(冒号,在常见的键盘中与分号共享同一个按键位置,需要按下Shift+;)则会进入底行模式。
在底行模式中,我们可以通过输入Vim的一些指令完成一些批量化的操作,文件的保存、退出也是在底行模式中完成的。

进入Vim第一步:打开文件

在Linux的命令行中输入以下指令,即可打开一个名字为“exampleFile.v”的文件。

vim exampleFile.v

注意,文件的扩展名是不能被省略的。在Linux系统中,万物皆是文件,而不会像Windows系统中对文件的扩展名进行自动识别。所以,“exampleFile”,“exampleFile.v”和"exampleFile.sv"都是完全不同的文件,Linux不会认为它们之间有任何的联系。
在输入上述指令打开Vim时,建议充分利用Linux系统的自动补全功能,使用Tab键补全文件名,否则很容易输错文件名。如果输入的文件名是一个不存在的文件,Vim就会自动创建该文件并且进入。不过就算不小心输错了也没有关系,先按冒号键(Shift+分号)进入底行模式,然后输入q,再按回车即可不保存直接退出,这样错误的文件就不会被保存下来。

保存文件并退出Vim

先按:键(Shift+分号)进入底行模式,再输入q,再按回车,即可不保存直接退出,后文中将此操作表示为:q
保存文件::w
直接退出::q
保存并退出::wq
对于一些只读文件,保存时需要加上感叹号(!)。

三种模式下能做哪些事

命令模式

复制:yy
在Vim中,复制不叫作Copy,而叫做Yank,所以与复制相关的不是c键而是y键。在命令模式下连按两次y键(即yy)即可复制当前光标所在的一整行。
顺便一提光标,在命令模式下,Vim提供了四个按键用作光标移动,分别是h左移,j下移,k上移,l右移,可以发现这四个按键不是WSAD和上下左右的排布,因此我还没有完全适应。在移动光标时,我仍然更倾向于用鼠标直接点击目标位置。据说,Vim的设计目标是“让使用者们双手似弹钢琴般地编辑文件”,因此Vim的熟练使用者应该是完全不用鼠标的……
在使用yy进行复制时,可以在yy前加上数字。比如2yy就是复制光标所在行以及下一行,共计2行;180yy就是复制光标所在行以及接下来的179行,共计180行。
粘贴:p
在命令模式中,p键可以将复制的内容粘贴出来。如果是复制了整行的内容,p键会将内容放在光标的下一行。可能听起来有些拗口,大家实际操作一下就很好理解了。
剪切:dd
与yy复制类似,dd即剪切一整行,可以加上数字以一次性剪切更多行。剪切的内容可以马上通过p粘贴到某处。
撤销:u
粘贴错了或者剪切错了也不用慌,命令模式下按下u键即可撤销。如果撤销错了,还可以通过ctrl+r撤销撤销^_^
查找:/
在命令模式中按下/就可以进入搜索功能。按下/以后,输入要搜索的内容再按Enter即可将该文件内搜索到的匹配结果高亮显示,光标也会跳转到最近的匹配结果位置。此时按下n可以不断向下查看其他匹配结果,按shift+n向上查看其他匹配结果。
光标跳转至文件开头:gg
光标跳转到文件最后:Shift+g
光标跳到这一行的开头:0
光标跳到这一行的末尾:$shift+4

编辑模式

编辑模式下,可以自由编辑文本内容,此时光标移动也变成了方向键,不再使用hjkl四键,因为这四键的功能在编辑模式下已经变成了输入hjkl四个字母。

底行模式

底行模式下,Vim可以完成一些技巧性的操作。
左右分屏::vs exampleFile.txt
上下分屏::sp exampleFile.txt
跳转到第7行::7
将第11行到第35行的stringA替换成stringB::11,35s/stringA/stringB/g
替换指令是支持正则表达式的,这对于头尾固定的字符串替换非常有用。

Visual Block功能

众所周知,Notepad++非常适合写Verilog,因为它的列编辑非常的方便,只要Alt键与鼠标配合即可同时编辑多列,这与Verilog的语言特征非常适配。与Notepad++类似,Vim也有列编辑功能,通过Visual Block模式实现。在命令模式下,按ctrl+v即可进入Visual Block模式。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值