Linux背背背(4)vim操作
目录
1.打开文件
2.vim的三种模式
3.扩展
(关于vi 和 vim 的区别,它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。)
1.打开文件
第一种方式:#vim 需要打开的文件
例如:打开当前目录下的passwd,则命令可以写成#vim ./passwd
第二种方式:#vim +数字 需要打开的文件 (打开文件之后快速的将光标定位到数字指定的行)
命令:#vim +5 ./passwd
提示:vim默认是不显示行号的,如果想在当前文件中显示出行号可以输入:set nu,然后按下回车就可以显示出行号
第三种方式:#vim +/字符串 需要打开的文件(打开文件,之后高亮显示/后的字符串)
例如:使用vim打开当前目录下的passwd文件,并且高亮显示“login”
如果这个时候想在搜索高亮结果中进行光标的快速跳转,可以按下键盘上的“n”(向下切换),或者按下“N”(向上切换)。
如果想去除高亮显示,则可以输入:nohl,按下回车即可。(no highlight)
特别说明:
以上三个打开文件的方法,都有一个共同的特点,当打开的文件不存在的时候,它会以新文件的方式进行打开。
2.vim的三种模式
在vim中存在三种模式:命令模式、末行模式、编辑模式。
--------------------------------------------------------------------------------------------------------------------------------------
末行模式下:
默认是命令模式,如果说需要进入到末行模式,则可以在命令模式中按下英文“:”
保存/另存
保存:
语法: :w(write)
另存:
语法: :w 文件的路径
退出
语法:
:q(quit)
提示:有些时候,如果对当前编辑的文档已经进行了修改,但是又不想保存想直接退出,则可以输入:q!,同样也有:wq!。其中的感叹号表示强制的意思。
查找
语法:
/字符串
替换
第一种情况:
语法:
:s/需要替换的字符串/替换成的字符串 (表示替换当前光标所在的行的第一处符合条件的字符串)
第二种情况:
语法:
:s/需要替换的字符串/替换成的字符串/g (替换光标所在行全部符合条件的地方,g表示global)
第三种情况:
语法:
:%s/需要替换的字符串/替换成的字符串 (表示替换当前文档中每一行第一个符合条件的地方)
第四种情况:
语法:
:%s/需要替换的字符串/替换成的字符串/g (替换整个文档中全部符合条件的地方)
---------------------------------------------------------------------------------------------------------------------------------------------------
命令模式
编辑模式就是使用vim打开一个文件后的一个默认模式。
光标移动
将光标在默认的命令模式中快速的定位到文档的最后一行,可以按下按键G。
将光标从命令模式中快速的切换到文档的第一行,可以按下按键gg。
将光标快速的定位到当前文档中的指定行,可以输入数字G。
将光标以当前行为准,向上或者向下移动指定的行数,可以输入数字↑/↓。
删除命令
删除当前行,可以使用按键dd,删除之后下一行上移。
删除当前行,下一行不上移,可以按下键盘的按键D,删除之后当前行留空。
删除多行,可以使用数字dd,表示以光标所在行为基准,向下删除指定的行数。
特别说明的:
在vim中,删除命令和剪切命令是一样,已经删除的内容可以通过粘贴命令显示出来。
复制命令
复制当前行,可以在光标所在的行按下键盘按键yy。
复制多行,可以按下数字yy,表示以当前行为准,向下复制指定的行数。
复制完成之后可以按下按键p,进行粘贴,粘贴是粘贴在光标所在行的下一行开始。
------------------------------------------------------------------------------------------------------------------
编辑模式
进入编辑模式,可以按下i键或者a键。
a键表示在光标的下一个字符处,after insert。
I键表示在光标所在的位置进行编辑,insert。
退出编辑模式,按下键盘的esc键就可以退出编辑模式。
3.扩展
默认显示行号
解决办法:
修改vim的配置文件进行配置。Vim的配置文件在当前用户的家目录中(如果没有的话自己创建,文件名字叫做.vimrc)
然后在.vimrc文件中,进入编辑模式,然后输入set nu,输入完毕之后退出保存
别名机制
别名是通过别名文件来设置的,别名文件位于当前用户家目录中,文件名叫做.bashrc。设置之后保存退出。
设置别名文件之后,需要重新登录之后别名才会生效,因此当前用户需要重新登录:第一个方法:切换用户;第二个方法:重新/关机;
异常关闭处理
当一个文件在vim中进行打开,打开之后没有正常关闭(直接关闭远程窗口),再下一次打开该文件的时候就会提示
这种问题的处理办法就是删除交换文件,交换文件的名称一般都是在原有的文件名后面加上.swp。
重做/撤销
当文件进行修改之后,如果想撤销/重做,则可以在末行模式中输入:u,来撤销上一步的操作。
如果这个时候想取消撤销,可以在命令模式中按下组合键ctrl+r。
如果想撤销多步,则可以在末行模式中输入:数字u。
另一种退出保存方式
前面学习的保存退出方法叫做:wq。其实在Linux的vim中还支持另外一种保存退出方式,这个方式是在末行模式中输入:x。(千万不要输入大写的x,大写的x表示给当前文档进行加密)。
经典的面试题:
在Linux中:wq退出方式和:x的退出方式有什么区别?
答:在实际开发的时候还是建议使用:x的方式进行退出。这两个方式的区别在于,wq的方式无论文件是否有修改,都会对文件的最后修改时间进行改变;而x方式只有在文件内容真的发生变化了才会去修改文件的最后修改时间。