Vim快捷键使用笔记

我目前是搞运维的,俗话说"工欲善其事必先利其器",Vim作为最基本的工具,正好这两天整理了一下,就写点关于vim的吧。不安装任何插件。

Vim练级攻略中将vim使用分成的四个阶段,因此本次文档也将按照这个四个阶段进行梳理,四个阶段分别是:

1.存活(初级入门);

2.感觉良好;

3.觉得更好,更强,更快;

4.使用VIM的超能力;

一.存活(初级入门)

1.vim模式介绍
  1) Normal模式, 启动vim以后自动进入Normal模式
  2) Insert模式, 按下i键进入insert模式,此时屏幕左下角出现 -- INSERT -- 字样。在此模式下你可以像用"笔记本"那样,
    ESC键返回Normal模式
2.快捷键介绍

i    -> insert模式, 按ESC返回Normal模式
  x    -> 删除当前光标所在的一个字符
  :wq  -> 保存并退出
  dd    -> 剪切光标所在的行
  p    -> 粘贴剪贴板

推荐:
  hjkl在Normal模式下,使用hjkl分别代表←, ↓, ↑,方向键进行光标移动。
  :help <command> -> 显示相关命令的帮助。你也可以就输入:help而不跟命令,使用:q退出

二.感觉良好阶段
本阶段介绍的命令全部都在Normal模式下使用。若果你不知道什么是Normal模式,请看第一阶段,或者多按几次ESC键

1.各种插入模式快捷键
  a -> 在光标后插入
  A -> 在光标行最后插入
  o -> 在当前行后插入新的一行
  O -> 在当前行前插入新的一样
  I -> 在当前行的最前面插入
  cw -> 替换从光标所在位置后到一个单词结尾的字符

2.简单的移动光标
  0 -> 数字零, 到行头
  ^ -> 到本行第一个不是blank字符的位置(所谓blank字符就是空格, tab, 换行, 回车等)
  $ -> 到本行行尾
  g_ -> 到本行最后一个不是blank字符的位置
  /pattern -> 搜索pattern的字符串(如果搜索出多个匹配, 可按n键到下一个, N键到上一个)

3.拷贝/黏贴
  P -> 粘贴,当前光标行的上一行
  p -> 粘贴,当前光标行的下一行
  yy -> 拷贝当前行

三.更好,更强,更快
1.更好
  . -> 小数点,可以重复上一次的命令
  N<command> -> 重复某个命令N次

2.更强
  NG -> 到第N行,也可以使用:N,比如:3,跳到第三行
  gg -> 到第一行
  G  -> 到最后一行
  w -> 到下一个单词的开头
  e -> 到下一个单词的结尾
    如果你认为单词是默认方式,那就么就用小写e和w。默认上来说,一个单词有字母,数字和下划线组成
    如果认为单词是由blank字符分隔, 那么你需要使用大写的E和W
  *和# -> 匹配光标当前行所在的单词, 移动光标到下一个(或上一个)匹配单词

3.更快
  一定要记住光标的移动,因为很多命令都可以和这些移动光标的命令连动。
  <start position><command><end position>
  例如: 0y$命令意味着
  0 -> 先到行头
  y$ -> 从这里开始拷贝, 到本行最后一个字符结束
  ye -> 从当前位置拷贝到本单词的最后一个字符
  y$ -> 从当前位置拷贝到本行最后一个字符
  v$ -> 选中当前位置到本行最后一个字符
  gU -> 选中的字符变大写
  gu -> 选中的字符边小写

字符含义介绍:
  d -> 删除
  v -> 可视化的选择

四.Vim超能力
1.在当前行上移动光标: 0, ^, $, f, F, t, T
  0 -> 数字零, 到行头
  ^ -> 到本行第一个不是blank字符的位置(所谓blank字符就是空格, tab, 换行, 回车等)
  $ -> 到本行行尾
  fa -> 到下一个为a的字符处, 你也可以fs到下一个为s的字符
  t, -> 到逗号前的第一个字符。逗号也可以是其他字符
  3fa -> 在当前行查找出第三个出现的a
  F和T -> 和f和t作用是一样,只不过光标移动的方向相反
  dtd ->删除所有的内容,直至遇到d字符

2.区域选择<action>a<object>或<action>i<object>
  action可以是任何的命令,如d(删除), y(拷贝), v(可视化模式选择)
  object可能是: w一个单词, W一个以空格为分隔的单词, s一个句子, p一个段落, 也可以是一个特别的字符 )、]、}等

假设你有一个字)符串(map (+) ("foo")). 而光标键在第一个o的位置.
  vi" -> 会选择foo "
  va" -> 会选择"foo" "
  vi) -> 会选择 "foo"
  va) -> 会选择 ("foo")
  v2i) -> 会选择 map (+) ("foo")
  v2a) -> 会选择 (map (+) ("foo"))

3.块操作
  典型的块操作: 0 Ctrl+v Ctrl+d I 进入Insert模式 ESC

4.自动提示
  Ctrl+N 和 Ctrl+P
  在Insert模式下,你可以输入一个单词的开头,然后按Ctrl+N或者是Ctrl+p, 自动补齐功能就出现了.

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14892.html