admin 管理员组

文章数量: 887021

vim 的 normal 模式是默认模式,是有其道理的,在 normal 模式下,可以进行非常非常多的操作,这里就会讲解一些快捷操作,掌握它们,能大大提升效率哦。

本节重点是 insert 和 normal 模式下的简化操作
insert 模式下的删除操作:
	ctrl + h:删除上一个字符
	ctrl + w:删除上一个单词
	ctrl + u:删除当前行

insert 模式下切换 normal 模式快捷操作:
	~~ctrl + c:退出 insert 模式,进入 normal 模式,功能等同于 Esc,不推荐,可能中断某些插件~~ 
	ctrl + [:退出 insert 模式,进入 normal 模式,功能等同于 Esc,推荐使用
	
normal 模式切换 insert 模式:
	gi:从 normal 快速定位到上一次编辑的位置并进入 insert 模式
	
normal 模式下的移动:
	h:向左移动
	j:向下移动
	k:向上移动
	l:向右移动
	w:光标移动到下一个单词开头
	b:光标移动到上一个单词的开头
	e:光标移动到下一个单词的结尾
	~~W:光标移动到下一个空格的结尾~~ 
	~~B:光标移动到上一个空格的结尾~~ 
	~~E:光标移动到下一个空格的开头前一位~~ 
	0:光标移动到行首
	$:光标移动到行尾
	^:光标移动到行内第一个非空白字符
	~~g_:光标移动到行尾非空白字符~~ 
	~~():在句子间移动,以 . ! ? 结尾的都属于句子~~ 
	~~{}:在段落间移动~~ 
	gg:光标移动到文件开头
	G: 光标移动到文件结尾
	ctrl + o:快速返回上一个位置
	~~H:光标移动到屏幕的开头(head)~~ 
	~~M:光标移动到屏幕的中间(middle)~~ 
	~~L:光标移动到屏幕的结尾(lower)~~ 
	
normal 模式下翻页	
	ctrl + u:文件过长时翻到上一页
	ctrl + f:文件过长时翻到下一页
	zz:将当前行置于屏幕中间

normal 模式下行内检索	
	f:行内向后检索,如 fr 即光标跳转到字符 'r' 所在的位置
	F:行内向前检索
	;:行内按照检索内容向后查找下一项
	,:行内按照检索内容向前查找上一项

退出 vim的快捷操作:
	shift + zz:保存并退出 vim 等同于 'wq'
	~~x:保存并退出,等同于 'wq'~~ 

这里我们举个小例子,如一行字符为: this is a wonderful weekend ,

  1. 输入 ‘fw’ 光标跳到 wonderful 的 w 处,
  2. 继续输入 ‘;’ 光标跳到 weekend 的 w处,
  3. 继续输入 ‘Fi’ 光标跳到 is 的 i 处,
  4. 继续输入 ‘,’ 光标跳到 this 的 i 处

初学者很难记住利用 ‘h’、‘j’、‘k’、‘l’ 进行光标移动,但是熟练以后,你会发现非常好用,因为它可以让你的手指不离开主键盘区域,我们可以通过一张图来记住 h(左)j(下)k(上)l(右) ,就是把它放进象限里,从左下到右上画一条线,你会记得非常清楚。

vim 操作有太多选择,不好记忆,根据二八法则,其实我们只需要选择常用的,最好用的就能满足日常使用,所以本文针对常用的操作也给出了标记,很多是根据我个人经验标记的,所以大家酌情学习。

本文标签: 入门 vim