概述

vim是vi的加强版,支持多级撤销和语法高亮和自动补全。

Command Mode命令模式

vim的默认模式,编辑器等待输入命令

命令 作用
n 显示搜索命令定位到的下一个字符串
N 显示搜索命令定位到的上一个字符串
o 在光标所在的行下方插入一行并切换到输入模式
gg 将光标移动到文档开头
G 将光标移动到文档末尾
ZZ 文件将保存并退出vim

移动

逐字符移动

  1. h:光标向左移动
  2. l:光标先右移动
  3. j:光标向下移动
  4. k:关闭向上移动

复制

yank

yy:复制光标所在整行
5yy:    复制从光标处开始的5行

删除

x :删除关闭所在处的单个字符
#x :删除光标所在处以及之后的共#个字符
dd:删除(剪切)光标所在整行
#dd:    删除(剪切)从光标处开始的#行

以单词为单位移动

w:移动下一个单词的词首
e:跳至当前或下一个单词的词尾
b:跳至当前或前一个单词的词首

跳转

行内跳转

0:绝对行首
^ :行首的第一个非空白字符
$:绝对行尾

行间跳转

#G:跳转至第#行(注意在末行模式下可以直接输入行号)
G:最后一行

翻屏

Ctrl+f 向下翻屏幕
Ctrl+b 向上翻屏幕
Ctrl+d 向下翻半屏
Ctrl+u 向上翻半屏

p/粘贴

p:如果删除(dd)或复制(yy)为整行内容,则粘贴到光标所在行的下方,如果复制或删除的内容为整行,则粘贴到光标所在字符的后面。
P:如果删除(dd)或复制(yy)为整行内容,则粘贴到光标所在行的上方,如果复制或删除的内容为整行,则粘贴到光标所在字符的前面。

修改

c:删除当前然后开始进入插入模式

撤销undo

u:撤销前一次操作
#u:撤销前#次操作
Contrl+r 还原最近的一次操作
重复前一次的操作
.重复前一次的命令操作

Insert Mode 输入模式

按a/i/o进入输入模式,同时按esc键可以退出输入模式,还原成命令模式。

i:在当前光标所在字符的前面,转入输入模式
a:在当前光标所在字符的后面,转入输入模式
o:在当前光标所在行的下方,新建一行,并转入输入模式
I:在当前光标所在行的行首,转入输入模式
A:在当前光标所在行的行尾,转入输入模式
O:在当前光标所在行的上方,新建一行,并转入输入模式

Last Line Mode 底行模式(末行模式)

只能在命令模式下才能进入末行模式,按:(冒号)进入底行模

vimrc配置

vimrc是vim的配置文件,vimrc文件的存储位置在

系统 vimrc 文件: "/etc/vimrc"
     用户 vimrc 文件: "$HOME/.vimrc"
 第二用户 vimrc 文件: "~/.vim/vimrc"
      用户 exrc 文件: "$HOME/.exrc"
         $VIM 预设值: "/etc"
  $VIMRUNTIME 预设值: "/usr/share/vim/vim74"

设置行号永久显示

vim ~/.vimrc

输入以下内容保存

set number
set nu

寄存器
寄存器是VIM用于保存临时数据的地方。
在命令模式下

:reg

查找 /

/ 查找字符

替换 s

所有替换

%s 替换