vim操作
在终端内创建新标签:ctrl + shift + t,切换标签alt + n(1,2,3,4)
创建新终端:ctrl + shift + n
vi三种模式:
- 命令模式,vim刚进去的模式为命令模式
- 插入模式(编辑模式),在命令模式下按i,I,a,A
- 末行模式,命令模式下按:(shift + ;)即冒号模式
插入模式和末行模式推出到命令模式都用esc键,插入和末行之间不可转换。esc键在任何模式下都可以回到命令模式。
1.插入模式
进入插入模式:
i:插入光标前一个字符
I:插入行首
a:插入光标后一个字符
A:插入行末
o:向下新开一行,插入行首
O:向上新开一行,插入行首
2.命令模式
在命令模式下
移动光标:
h:左移
j:下移
k:上移
l:右移
M:光标移至中间行
L:光标移动到屏幕最后一行行首
G:移动到指定行,比如移动到第三行,按3再按G即跳转到第三行
w:向后移动一个字(单词,空格分开)
b:向前移动一个字(单词,空格分开)
{:跳段,上跳段(空行分开的为一段)
}:跳段,下跳段
ctrl + d,向下翻半屏
ctrl + u,向上翻半屏
ctrl + f,向下翻一屏
ctrl + b,向上翻一屏
gg:光标到文件首位
G:光标到文件行尾
gg=G:文件自动排版
删除命令:
x:删除光标后一个字符,相当与del
X:删除光标前一个字符,相当与backspace
dd:删除光标所在行,n dd 删除光标后指定的行数,如100 dd 删除本行以及后面99行,一共100行
D:删除光标后本行所有字符
d0:删除光标后本行所有字符
dw:删除光标开始位置的字,包括光标所在字符
撤销命令:(切记还是在命令模式下,在插入模式下只能一共一个字符的敲入,想删除行或者撤销还是要到命令模式下才可以。)
u:一步步撤销
U:一次性撤销当前行所做的所有操作
ctrl + r:反撤销
重复命令:
.:重复操作
文本行移动:
>>:文本行右移
<<:文本行左移
复制粘贴:
yy:复制当前行,n yy 复制n行
p:在光标所在位置向下新开辟一行,粘贴
可视模式:
v:按字符移动,选中文本
V:按行移动,选中文本可视模式可以配合d,y,>>,<<实现对文本的删除,复制,移动,这里d等价于dd,y等价于yy。
替换操作:
r:替换当前字符(一般用这个,R不常用)
R:替换当前行光标后的字符
分屏操作:
以下sp,vsp是在末行模式下输入的:sp, :vsp,后跟文件名可在一个窗口开几个文件分屏操作,其他的操作都是命令模式下(主要就是ctrl+w)
sp:上下分屏,后可跟文件名
vsp:左右分屏,后可跟文件名
ctrl+w+w: 在多个窗口切换
执行shell下命令:行末模式里输入!,后面跟命令
横竖分屏打开新文件
:sp filename
:split filename
:vsp filename
:vsplit filename
:sview filename ->只读分屏打开文件
从shell命令行直接打开多个文件且是分屏
vim -On file1, file2 ... ->垂直分屏
vim -on file1, file2 ... ->水平分屏
n表示需要分的屏幕数,如:
vim -O2 test.c test01.c
注:-O
垂直分屏,-o
水平分屏,n
表示分几个屏
横/竖分屏打开当前文件
ctrl+W s
ctrl+W v
切换分屏。按ctrl+w后再按w,切换分屏
ctrl+w w
ctrl+w h,j,k,l
ctrl+w 上下左右键
关闭分屏,ctrl+w再按q关闭分屏
ctrl+W c 关闭当前窗口
ctrl+w q 关闭当前窗口,若只有一个分屏且退出vim
:only 仅保留当前分屏
:hide 关闭当前分屏
调整分屏的大小
ctrl+w = 所有分屏都统一高度
ctrl+w + 增加高度
ctrl+w - 减少高度
10 ctrl+w + 增加10行高度
移动分屏(上下左右切换)
ctrl+W H,J,K,L
查找命令(命令模式)
/:查找
在命令模式下直接左斜杠后加需查找的内容会自动查找文件相关内容,确定后高亮所有查到的项
调用man page(命令模式)
在编辑代码时,需要查询某函数的man手册,光标移动到需要查询的函数上按K,它会跳转到man手册,
默认第一章,如果需要跳转到指定章节,按n K
如按3 K跳转到第三章man手册
查看宏定义
[ + d:查看宏定义,必须先包含此宏所在的头文件
3.配置vim
vim配置文件:
jiaojian@KyLin:/etc/vim$ ls (系统vim配置文件)
vimrc vimrc.tiny
在用户home目录下有.vimrc是用户的vim配置文件,用户的vimrc优先级高
~/.vimrc 优先级更高
用户目录下有.vimrc是用户专属的vim配置文件,优先级比系统的vimrc高,如果用户有自己的vim配置文件则系统会使用专属的配置文件,如果没有则统一使用系统的配置文件。