VIM基本命令

来源:互联网 发布:java服务器开发与c 编辑:程序博客网 时间:2024/06/09 20:28
- 后面接命令
[] 为可选内容

1. hjkl方向
2. 模式
插入模式
-I 该行行首
-i 光标前边(insert)
-A 该行行末(append)
-a 光标后边
-O 在光标上方插入空行
-o 在光标下行插入空行
-S 清除光标所在行的内容
-s 删除光标字符

普通模式
-Esc

命令行模式
-:

3.退出
-:wq保存退出(或者ZZ)
-:q!不修改强制退出

4.motion
motion:
-hjkl 方向
-0 跳到行首
-^ 跳到行首
-$ 跳到行尾
-b 跳到单词开始(begin)
-e 跳到单词结尾(end)
-w 跳到下一个单词起始处
-gg跳到文件开头
-G 跳到文件结尾

5.删除命令
A.删除单个字符
-x
B. -d motion(操作范围)
motion:
-0 删到行首
-^ 删到行首
-$ 删到行尾
-b 删到单词开始(begin)
-e 删到单词结尾(end)
-w 删到下一个单词起始处
-gg删到文件开头
-G 删到文件结尾
-h 删除左边一个字符
-j 删除所在行及下一行
-k 删除所在行及上一行
-l 删除光标指定字符

备注:所有的删除并不是真的删除,而是存放在vim的一个缓冲区(vim称之为寄存器)中。

6.数字的奥秘
数字 + motion :重复多个motion
d + 数字 + motion :删除多个motion范围

7.Undo/Redo
-u 撤销
-U 撤销对整行的修改
Ctrl + r 恢复

8.粘贴命令
-p 将最后一次删除的内容粘贴到光标之后
-P 将最后一次删除的内容粘贴到光标之前

备注: 如果需要粘贴的是整行为单位的字符串,那么p命令将在光标的下一行开始粘贴,P在上一行。

8.拷贝命令
-y + [数字] + motion
-yy 拷贝整行
-数字] + yy 拷贝N行

9.替换命令
-r(replace) + [字符] 替换光标所在的字符
-数字 + r + [字符] 替换光标开始的N个字符

10.替换模式
-R 进入替换模式
-backspace 将替换的字符恢复到原来

11.修改命令
注意:修改跟替换是不一样的。修改会进入插入模式,替换不会进入插入模式。
-c(change) + [数字] motion
-cc 删除当前字符并进入插入模式

奥义:修改 约等于 删除 + 进入插入模式(进入插入模式时,这两种方法对应的光标位置是不同的)
eg:-c0,从光标处删除到行首,并进入插入模式。

12.文件信息
-Ctrl + g

13.跳转
-行号 + G 跳转到该行
-:+ 行号 跳转到该行

14.定位括号
-% 快速跳转到另一半括号

15.缩进
A.
-[数字] + >> 缩进N行
-[数字] + << 反缩进N行

B.
-v(visual)进入可视模式
然后选择要缩进的行,最后输入>>。

16.搜索命令
-\ 搜索的定位是默认从光标后面开始的,n向后搜索下一个,N向前搜索下一个。
-? 搜索的定位是默认从光标前面开始的。n向前搜索下一个,N向后搜索下一个。
-:+ nohl(no highlight)接触高亮

注:如果要从文本开头搜索只能-gg跳到开头。
注:有十个特殊的字符不能/搜索,分别是. * [ ] ^ % / ? ~ $ 。用转义字符\来解决。

17.搜索并替换命令
A.
-: + [%(替换整个文本)] + s + / + 搜索内容 + / + 替换内容 + [/g(替换整行)]   替换光标该行的第一个匹配结果
eg: -:s/X/o 将该行的第一个X替换为o。
eg:-:s/X/o/g 将该行的所有X替换为o。
eg:-:%s/X/o/g 将整个文本的所有X替换为o。

B.替换时询问,在命令后面加c。
eg:-:%s/X/o/gc 或者 -:s/X/o/gc
提示命令:y:替换 n:不替换 a:替换所有 q:退出 l:替换第一个并进入插入模式
          ^e:Ctrl+e滚动屏幕 ^y:Ctrl+y滚动屏幕。
C.替换第m到n行
eg:-4,12s/X/o/g(global)

18.执行shell命令
-:! + 命令 执行该命令,再按下enter就返回到vim。

19.文件另存为
-:w + 文件名
-:w! + 文件名 覆盖掉该文件

20.局部内容另存为
step1:进入可视模式,选择内容
step2::w + 文件名

21.合并文件
-:r + 文件名 将文件名的文件读取并追加到当前编辑文件的下一行

22.同时打开多个文件
A.
-o 垂直并排
-O 水平并排
eg:vim -o txt1 txt2 txt3

B.
-Ctrl + ww 切换到下一个文件
-Ctrl + 上下/左右 用于垂直或者水平并排时切换。

C.
-:qa(all) 全部关闭
-:wqa 全部写入并关闭
-:qa! 全部忽略修改并关闭

23. 显示行号
set number