1. 打开文件
#vim 路径/文件 (正常打开一个文件)
#vim +数字 路径/文件 (打开文件后快速将光标定位到数字指定的行)
例:#vim +4 ./a.php
提示:vim默认是不显示行号的,如果想在当前文件中显示出行号可以输入:set nu 按下回车
#vim +/字符串 路径/文件 (打开文件,并高亮显示/后的字符串)
提示:如果这时候想在搜索高亮结果中进行光标的快速跳转,可以按下键盘上的“n”(向下切换)或者按下“N”(向上切换)。
特别提示: 以上三种打开文件的方式,有一个共同的特点,当打开的文件不存在时,它会以新文件的方式进行打开。
2. vim 的三种模式
在vim中存在三种模式:命令模式、末行模式、编辑模式
末行模式:
默认是命令模式,如果要进入末行模式,可在命令模式中按下英文“:”。
保存:
语法: :w (write)
另存: 语法: :w 文件路径
退出: 语法: :q (quit)
保存退出: 语法: :wq
提示:有些时候,如果对当前编辑的文档已经进行了修改,但是又不想保存想直接退出,则可以输入: :q!。其中的感叹号表示强制的意思。
查找: 语法: /查找的字符串
提示:对于查找的结果,同样会和打开文件的第三种方式一样,进行高亮显示,可以按下键盘上的“n”(向下切换)或者按下“N”(向上切换)。
替换:
第一种情况:替换当前光标所在的行的第一处符合条件的字符串
语法: : s/要替换的字符串/替换成的字符串
第二种情况:替换当前光标所在的行所有符合条件的字符串
语法: : s/要替换的字符串/替换成的字符串/g
提示: g表示 global
第三种情况:替换当前文档中所有行第一个符合条件的字符串
语法: :%s/要替换的字符串/替换成的字符串
第四种情况:替换当前文档中所有符合条件的字符串
语法: :%s/要替换的字符串/替换成的字符串/g
命令模式:
光标移动:
将光标在默认的命令模式中快速定位到文档的最后一行,可以按下按键 G 。
将光标在默认的命令模式中快速定位到文档的第一行,可以按下按键 gg 。
将光标在默认的命令模式中快速定位到文档的指定行,可以输入: 数字G 。
将光标以当前行为准,向上或者向下移动指定的行数,可以输入: 数字↑/↓。
删除命令
删除当前行:可以使用按键dd,删除之后下一行上移。
删除当前行:可以使用按键D,删除之后下一行不上移,当前行留空。
特别说明: 在vim中,删除命令和剪切命令是一样的,已经删除的内容可以通过粘贴命令显示出来。
复制命令
复制当前行:可以在光标所在的行按下:yy 。
复制多行:可以按下:数字yy,表示以当前行为准,向下复制指定的行数。
粘贴:可以按下:p ,进行粘贴,粘贴是粘贴在光标所在行的下一行开始。
编辑模式:
进入编辑模式:可以按下i键或者a键。
a键:表示在光标的下一个字符处插入,after insert。
i键:表示在光标所在的位置插入,insert。
退出编辑模式: 按下键盘的esc键就可以退出编辑模式。
扩展:
在一般情况下,vim是默认不显示行号的,我们可以通过在末行模式中输入set nu来让当前文件显示行号,但是在关闭后再次打开又不会显示行号,如何让vim直接默认显示行号呢?
解决办法:
修改vim的配置文件进行配置,vim的配置文件在当前用户的家目录中(如果没有的话自己创建,文件名字叫做 .vimrc )。在.vimrc文件中,进入编辑模式,然后输入set nu,保存退出。
异常关闭处理:
当一个文件在vim中进行打开,打开之后没有正常关闭,下一次打开该文件就会提示“发现交换文件‘文件名.swp’”,这种问题的处理办法就是删除交换文件,交换文件的名称一般都是在原有的文件名后面加上.swp。
重做/撤销:
当文件进行修改之后,如果想撤销/重做,则可以在末行模式中输入**:u**,来撤销上一步的操作。
如果想取消撤销,可以在命令模式中按下组合键ctrl+r。
如果想撤销多步,则可以在末行模式中输入**:数字U**。
另一种退出保存方式
在末行模式中输入 :x 。
注意:千万不要输入大写的“X”,大写的“X”表示给当前的文档进行加密
wq 和 :x 的退出方式有什么区别?
wq方式 :无论文件是否有修改,都会对文件的最后修改时间进行改变
:x方式 :只有在文件内容真的发生变化才会修改文件的最后修改时间
推荐使用:x方式进行退出