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

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

vim一共有4个模式:

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

正常模式

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

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

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

命令模式

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

可视模式

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

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

 

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

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

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

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

vs code vim的更多相关文章

  1. VS Code - Vim 插件自动切换输入法

    前言: 在使用 Linux 的过程中,vim 是一个不错的编辑器,以至于多数人将其用成了习惯,在没有 vim 的环境下还是习惯用 vim 的快捷键来编辑文本.所以便有开发者们为众多的 IDE 和文本编 ...

  2. a great tool for automatically formating your code!

    1. make your own format file at your project's root or file's folder. (The clang-format will automat ...

  3. vscode的环境变量code

    vscode的安装路径 本质:vscode的安装路径/Applications/Visual Studio Code.app/Contents/Resources/app/bin 下面有code可执行 ...

  4. Linux 下源码编译安装 vim 8.1

    前言 目前 linux 的各个发行版基本上都是带了一个 vi 编辑器的,而本文要说的 vim 编辑器对 vi 做了一些优化升级,更好用.当我们需要远程操作一台 linux 服务器的时候,只能使用命令行 ...

  5. [转载]函数getopt(),及其参数optind

    最近用到了getopt()这个函数,对它进行了一些了解.这篇博文还是写的非常清楚的.值得学习.最近在改进一个开源项目,希望自己能静下心好好分析代码. ------------------------- ...

  6. 部署phpmyadmin登录不进去

    Centos7.5 部署phpmyadmin登录不进去 问题:明明输对了账号和密码就是登录不进去,但是用ip就能登录 解决方法:换个域名 [root@web01 code]# vim /etc/ngi ...

  7. 函数getopt()及其参数optind -- (转)

    getopt被用来解析命令行选项参数 #include <unistd.h>       extern char *optarg;  //选项的参数指针       extern int ...

  8. LNMP(5)

    目录 一.实战 1.安装 安装nginx 数据库 php wordpress 2.三者建立联系 nginx和php建立联系 php与mariadb建立关系 二.数据分离 三.理论 静态和动态 web应 ...

  9. Rewrite基本概述

    Rewrite基本概述 什么是rewrite Rewrite主要实现url地址重写,以及重定向,就是把传入web的请求重定向到其他url的过程. rewrite使用场景 1.地址跳转,用户访问www. ...

随机推荐

  1. Activity有四种加载模式:standard(默认), singleTop, singleTask和 singleInstance

    standard:Activity的默认加载方法,即使某个Activity在Task栈中已经存在,另一个activity通过Intent跳转到该activity,同样会新创建一个实例压入栈中.例如:现 ...

  2. JMeter - 如何创建可重用和模块化测试脚本

    概述: 我的应用程序几乎没有业务关键流程,我们可以从中提出不同的业务工作流程.当我试图在JMeter中提出性能测试脚本时,我需要找到一些方法来创建可重用/模块化的测试脚本.这样我就可以创建不同的工作流 ...

  3. 机器学习(四) SVM 支持向量机

    svr_linear = SVR('linear') #基于直线 svr_rbf = SVR('rbf') #基于半径 svr_poly = SVR('poly') #基于多项式

  4. BZOJ 4264 小C找朋友 哈希+脑子

    好吧我觉得是脑子,别人觉得是套路$qwq$ 这道题相当于是求除了$u,v$两点互相连接,所连的点相同的点对$(u,v)$ 我们首先每个点一个随机权值,对于$u$点记为$w[u]$,然后记与$u$点相连 ...

  5. rancher中级(二)(rancher中添加证书及操作虚拟主机)

    制作一个ssl证书 首先了解关于ssl证书的背景知识:http://www.cnblogs.com/zxj015/p/4458066.html SSL证书包括: 1,CA证书,也叫根证书或者中间级证书 ...

  6. JAVA四大特征:封装,继承,多态,抽象

    1,封装 将对象的属性和方法组合成一个独立的整体,隐藏实现的细节,并提供对外访问的接口. 封装的好处: (1):隐藏实现细节.好比你买了台电视机,你只需要怎么使用,并不用了解其实现原理. (2):安全 ...

  7. Oracle11G的用户解锁、卸载以及基础操作

    Oracle用户解锁 [以下操作,必须以超级管理员身份登录,才能修改]oracle安装后,会默认生成很多个用户 以超级管理员身份登录,请注意,其中的空格符:[ sys是一个超级管理员,有最大的权限,d ...

  8. jquery选择器大全参考

    在Dom 编程中我们只能使用有限的函数根据id 或者TagName 获取Dom 对象. 然而在jQuery 中则完全不同,jQuery 提供了异常强大的选择器用来帮助我们获取页面上的对象, 并且将对象 ...

  9. ASP编码规范

    ASP编码规范(--::) 第一章 ASP编码规范通述 ASP编码分为两大部分,一部分为静态文件编码,一部分为包含服务器端脚本的动态文件编码. 静态文件编码分script编码和HTML编码两部分. 服 ...

  10. linux安装jdk7步骤

    linux安装jdk7步骤: 1.首先使用命令查看linux系统版本号: lsb_release -a 2.下载对应的jdk版本,笔者使用的是jdk-7u79-linux-x64.tar.gz: 3. ...