1.三大模式

vim是vi的升级版,或者加强版,几乎所有的linux分支都有对vi vim的支持

vim总共有三种模式:一般模式,编辑模式,命令行模式

1.1 一般模式:光标的移动,粘贴,复制,删除,查找,替换

1.2 编辑模式:对文本内容的增删改

1.3 命令行模式:保存,退出,另存为 ,等

2.光标移动 上下左右方向键可以使用,另外 h j k l 也代表这左下上右

k

h j l

Ctrl+f 屏幕向下移动一个页面 相当于 [Page Down] 按键 (常用)

Ctrl+b 屏幕向上移动一个页面 相当于 [Page Up] 按键 (常用)

Ctrl+d 屏幕向下移动一半个页面

Ctrl+u 屏幕向上移动一半个页面

0 或者 [Home] 移动到该行的首个字符 (常用)

$ 或者 [End] 移动到该行的最后一个字符 (常用)

H 移动到屏幕的最上方那一行的第一个字符

M 移动到屏幕的中间那一行的第一个字符

L 移动到屏幕最下面那一行的第一个字符

G 移动到文本的最后一行第一个字符 (常用)

nG 移动到第n行(常用)

gg 移动到第一行的第一个字符(常用)

n[Enter] 移动到第n行(常用)

/word 向下寻找名称为 word的字符串(常用)

?word 向上寻找名称为 word的字符串(常用)

n 查找下一个word (常用)

N 查找上一个word(常用)

:n1,n2s/old/new/g 把第n1行到n2行的old 替换位new

:1,$s/old/new/g 把第1行到最后一行的old 替换位new

:n1,n2s/old/new/gc 把第n1行到n2行的old 替换位new 每一次替换都需要确定

X x 向前删除一个字符 向后删除一个字符

dd 删除当前行

yy 复制当前行

p 把粘贴版的内容复制到当前光标的下一行 P(大写)刚好相反

在 删除 复制 粘贴 命名的前面 加上数字n 就相当于 一个for循环,循环该命令n次

dd,yy 删除 复制 1 到2 之间的字符 这个比较灵活 ,可以自己组合尝试,也可以上网搜索

u 相当于 window的 Ctrl+z undo 返回上一步

. 重复上一次的操作

当然了 window里面的用鼠标选中 一片字符 在这里也有 v+[光标移动] + d y 相当于删除 和 复制

另外还有分屏split vsplit 块操作

常用的 缩进

=G 所有文本全部缩进

我们可以使用 v 和 V。一但被选好了,你可以做下面的事:

J → 把所有的行连接起来(变成一行)

< 或 > → 左右缩进

= → 自动给缩进 (陈皓注:这个功能相当强大,我太喜欢了)

选择块的所有行首字符前面添加相同的字符

→ 开始块操作

→ 向下移动 (你也可以使用hjkl来移动光标,或是使用%,或是别的)

I– [ESC] → I是插入,插入“–”,按ESC键来为每一行生效

选择块的所有行的行尾追加相同的字符

选中相关的行 (可使用 j 或 或是 /pattern 或是 % 等……)

$ 到行最后

A, 输入字符串,按 ESC。

3. 编辑模式

字母: o O a A i I r R 在一般模式下面这个8个字符会进入编辑模式

a A : a当前光标的后面插入字符,A 在当前行的末尾插入字符

i I : i当前光标的前面插入字符.I在当前行的开头插入字符

o O : o在当前光标的下一行插入,O 在当前光标的上一行出入

r R :替换 有需要可以 man r 查看详细用法

4. 命令行模式

在一般模式下面,输入:就会进入命令行模式,具体:在屏幕的最下边

显示: 在:符号后面可以输入命令

w 保存 w[filename] 另存为 q 退出 ! 强制 ZZ 保存并退出 x退出 r[filname] 读取文件内容添加到当前光标的下一行

!commad 相当于在终端输入命令,这里是在vim执行,在终端显示结果

set nu 显示行号 set nonu 不显示行号 ,另外还可以设置高亮背景等等,可以去网上参考

已经配置好的 vim 配置文件,也可以设置编码解决乱码问题

到这里就结束了!!!