vim几种模式的切换

Posted summary-2017

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vim几种模式的切换相关的知识,希望对你有一定的参考价值。

很多初学者启动vim后,不知道怎么输入字符:按了半天字母,结果屏幕还是空的。

vim和记事本或WORD不一样,不是一打开后就可以输入文字,此时它处于正常模式。

vim一共有4个模式:

  • 正常模式 (Normal-mode) 
  • 插入模式 (Insert-mode)
  • 命令模式 (Command-mode)
  • 可视模式 (Visual-mode)

 

注意:方向键(上下左右那几个)可以在vim屏幕里跳来跳去。现在知道这个对
体验以下的模式有用。但是,通过方向箭来移动,是一个笨办法。。。讲到正常
模式时会说到更好的方法(我不会现在就告诉你h,j,k,l键分别对应左,下,上,右的:D)

正常模式

正常模式一般用于浏览文件,也包括一些复制、粘贴、删除等操作。这时击键时,
一般的键/键组合会被当成功能键,而不会键入对应的字符。

在这个模式下,我们可能通过键盘在文本中跳来跳去,跳动的范围从小到大是字符、
单词、行、句子、段落和屏幕。

启动vim后默认位于正常模式。不论位于什么模式,按下<Esc>键(有时需要按两下)
都会进入正常模式。

技术分享图片

插入模式

在正常模式中按下i, I, a, A等键(后面系列文章会详细介绍),会进入插入模式。
现在只用记住按i键会进行插入模式。插入模式中,击键时会写入相应的字符。

技术分享图片

 

命令模式

在正常模式中,按下:(冒号)键,会进入命令模式。在命令模式中可以执行
一些输入并执行一些vim或插件提供的指令,就像在shell里一样。这些指令包括
设置环境、文件操作、调用某个功能等等。
技术分享图片

 

可视模式

在正常模式按下v, V, <Ctrl>+v,可以进入可视模式。可视模式中的
操作有点像拿鼠标进行操作,选择文本的时候有一种鼠标选择的即视感,有时候
会很方便。

技术分享图片

 

根据需要灵活快速的切换各种模式非常有用。

配置回到正常模式的快捷键

由于不论在其他什么模式下,按一次或两次<Esc>键都可以回到正常模式,我们
可以想见,<Esc>键会经常用到。由于<Esc>键在标准qwert键盘的左上角,对
于左手小指不灵活的朋友来说,按起来比较不方便(我就是如此),因此在上一篇
中我们通过配置.vimrc把<Esc>映射成了按两下j键。

" 将ESC键映射为两次j键                                       
inoremap jj <Esc>  

j键正好在右手食指的基本键位上(一般上面还有个突起),用起来十分方便。
如果只让我保留一个vim设置的话,我会选择保留它。

 

--------------------------------------------------------------------------------

在命令模式中,连按两次大写字母Z,若当前编辑的文件曾被修改过,则Vi保存该文件后退出,返回到shell;若当前编辑的文件没被修改过,则Vi直接退出,   返回到shell。   

    在末行模式下,输入命令   

    :w 

    Vi保存当前编辑文件,但并不退出,而是继续等待用户输入命令。在使用w命令时,可以再给编辑文件起一个新的文件名。

    [例6]   

    :w   newfile 

    此时Vi将把当前文件的内容保存到指定的newfile中,而原有文件保持不变。若newfile是一个已存在的文件,则Vi在显示窗口的状态行给出提示信息: 

    File   exists   (use   !   to   override) 

    此时,若用户真的希望用文件的当前内容替换newfile中原有内容,可使用命令 

    :w!   newfile 

    否则可选择另外的文件名来保存当前文件。 

    在末行模式下,输入命令   

    :q 

    系统退出Vi返回到shell。若在用此命令退出Vi时,编辑文件没有被保存,则Vi在显示窗口的最末行显示如下信息: 

    No   write   since   last   change   (use   !   to   overrides) 

    提示用户该文件被修改后没有保存,然后Vi并不退出,继续等待用户命令。若用户就是不想保存被修改后的文件而要强行退出Vi时,可使用命令 

    :q! 

    Vi放弃所作修改而直接退到shell下。 

    在末行模式下,输入命令   

    :wq 

    Vi将先保存文件,然后退出Vi返回到shell。 

    在末行模式下,输入命令   

    :x 

    该命令的功能同命令模式下的ZZ命令功能相同

-------------------------------------------------------------------------------

 

参考原文链接https://www.cnblogs.com/zzqcn/p/4619012.html

 

写博客是为了记住自己容易忘记的东西,另外也是对自己工作的总结,文章可以转载,无需版权。希望尽自己的努力,做到更好,大家一起努力进步!

如果有什么问题,欢迎大家一起探讨,代码如有问题,欢迎各位大神指正!

















以上是关于vim几种模式的切换的主要内容,如果未能解决你的问题,请参考以下文章

初学者提问:vim 编辑器的三种模式如何切换?

vim编辑器的三种模式分别是啥

VSCodeVim的输入法自动切换

LINUX中,Vi编辑器的几种模式及保存、退出等命令。

vim模式与模式切换vim命令模式

16自学——Linux的学习进度与任务vim编辑器及文件测试