番外篇:Vim使用方法
启动Vim:vim abcd 使用vim打开abcd这个文件
vim -o abc def 使用Vim垂直打开abc、def多个文件
vim -O abc def 水平并排打开abc、def多个文件:使用Ctrl+w+方向键切换不同文件
退出Vim:
:q 退出:wq 保存退出
:q!强制退出
:wq!强制保存退出
普通模式
ctrl + g 查看文件当前信息
行号 + G 跳转到第几行
% 当光标移动到任何一个括号的时候,按下%会快速定位到这个括号的另一半
motion
motion表示为操作范围的指令可以和其他指令来配合
h、j、k、l 分别表示左、下、上、右
0 表示将光标定位到行首的位置
^ 同上
$ 将光标定位到行尾的位置
b 将光标定位到光标所在单词的结尾处
e 将光标定位到光标所在单词的结尾处
w 将光标定位到下一个单词的起始处
gg 将光标定位到文件的开头
G 将光标定位到文件的末尾
普通模式进入插入模式的各种方法
esc 进入命令行模式
i 在光标的前边进入插入模式
I 在光标所在行的行首进入插入模式
a 在光标的后边进入插入模式
A 在光标所在行的行尾进入插入模式
o 在光标所在行的下方插入空行并进入插入模式
O 在光标所在行的上方插入空行并进入插入模式
s 删除光标指定的字符并进入插入模式
S 将光标所在行清除并进入插入模式
删除命令
所有的删除操作并不是真的删除,他们被存放于Vim的一个缓冲区(寄存器)中,相当于剪切功能
x 删除光标所在的单个字符
dd 删除光标所在行
d +[数字]+ motion 删除更多字符
d + j 标志删除光标所在行以及下一行
d + k 表示删除光标所在行及上一行
拷贝命令
yy 拷贝光标所在行
yy + [数字] + motion 拷贝更多内容
修改命令
修改和替换是不一样的,修改会进入插入模式,而替换则不会进入插入模式
c + [数字] + motion 修改更多内容
撤销命令
u 表示撤销最后一次修改
U 表示撤销对整行的修改
ctrl + r 表示恢复撤销的内容
粘贴命令
注意,如果删除的是整行则会粘贴到下一行,如果你删除的是一行里面的一部分,则会粘贴到光标后面
p将最后一次删除的内容粘贴到光标之后
P 将最后一次删除的内容粘贴到光标之前
替换命令
在命令行模式下输入r,再输入a,则会将光标所在的字符替换成了a
进入命令行模式
在普通模式下输入:进入命令行模式
q 退出
wq 保存退出
q! 强制退出
wq!强制保存退出
行号 直接跳转到行号
nohl 接触屏幕所选中的所有的高亮
s/oo/xx 将文中的oo变为xx(此命令替换的是光标所在行的第一个)
s/oo/xx/g 将本行所有的oo替换为xx
%s/oo/xx/g 将所有的oo替换为xx
%s/oo/xx/g 同上,但会在每次替换前先请示
4,12s/o/x/g 将第四行到第十二行中的o替换为x
!ls/usr/edc 查看edc下的目录文件,按enter键重新回到vim
w efgh 将文件另存为efgh
如果要讲文件中的一部分另存为另一个文件,则先切入可视模式,选中之后再执行w进行另存为
r abcd 将abcd这个文件读取并合并到本文件中来
输入 / 进入命令行模式
/ + abcd 从光标开始向后搜索abcd,按n 寻找下一个,N 寻找上一个
?+ abcd 从光标开始向前搜索
进入替换模式
在命令行模式下输入R可以进入替换模式,这时你输入的字符会替换为光标坐在的字符
R 从命令行模式进入到替换模式
退格键 会退回到修改以前的字符
可视模式
一般模式下输入v可进入可视模式,进入后移动光标会选择所有的代码,可以进行统一的缩进、复制、删除、粘贴等操作
v 进入可视模式
> 将选择好的代码统一右缩进
< 将选择好的代码统一左缩进