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 配置文件,也可以设置编码解决乱码问题
到这里就结束了!!!
把vim打造成编辑器(c/c++)
https://github.com/Notelzg/use_vim_as_ide
这里有一个不错的博客关于 vm 刻可以看看
http://coolshell.cn/articles/5426.html
: