Vim简介
vim由于其高效性和强大的功能,现在已经成为程序员在linux系统中常用的文本编辑器。在这里,主要总结下在平时工作中常用的vim命令,最后再简单介绍下vim下的常用的插件。
Vim的三种模式
vim一共有三种模式:normal模式、insert模式和visual模式:
1、通过i,a等命令,可以从normal模式进入insert模式,按下ESC可以返回normal模式;
2、通过ctrl+v等命令,可以从normal模式进入visual模式,再次按下相同的命令或者两次ESC可以返回到normal模式;
3、不能直接从insert模式进入visual模式
移动光标
h :向左移动一个字符
l :向右移动一个字符
j :向下移动一个字符
k :向上移动一个字符
w :光标移至下一个单词的第一个字符
e :光标移至下一个单词的最后一个字符
0 :光标移至本行的行首
^ :光标移至本行的第一个字符
$ :光标移至本行的行末
g_:光标移至本行的最后一个字符
gg:光标移至第一行的行首
G :光标移至最后一行的行首
100G :光标移至第100行的行首
:100 :作用与100G相同
L :光标移至当前屏幕的最后一行
H :光标移至当前屏幕的第一行
M :光标移至当前屏幕的中间一行
z. :将当前行移至中间屏幕位置
ctrl+f:向下翻一屏
ctrl+b:向上翻一屏
进入insert模式命令
i : 在光标当前位置输入
a : 在光标右侧位置输入
I :在行首输入
A:在行末输入
o:在光标所在行的下一行增添新行,光标位于新行的行首
O:在光标所在行的上一行增添新行,光标位于新行的行首
cw:剪切当前光标到词末部分,并在当前光标位置输入
s:剪切当前字符,并进入insert模式
文本编译
x:剪切当前字符
dw:删除当前光标到词末部分
dd:删除当前行
yy:复制当前行
p:粘贴复制的内容
u:撤销最近一次的修改
ctrl+r:恢复最近一次的修改
:%s/hhf/chyl/g:将全局的hhf全部替换为chyl
/hhf:搜索hhf,n继续向下搜索,N继续向上搜索
#:搜索当前光标所在的单词
%:匹配当前括号的对应的括号(包括(),[],{})
fa:在当前行查找a,使用;重复之前的查找动作
区域选择
v:按字符选择
V:按行选择
ctrl+v:按块选择
常用的场景:在多行插入相同的内容,使用ctrl+v进行块选择,然后使用I(A)在块首(末)插入内容,按ESC退出后,多行会自动补充相同的内容。同时可以对选中的区域进行删除和复制操作。
其他命令
10dd:命令重复,删除从当前行往后的10行内容
=:自动补充缩进
.:重复上一次命令
vim中命令之间也可以相互组合使用,同时还有很多其他没有介绍的命令,大家可以自己在使用的过程中慢慢去挖掘。
vim插件管理
pathogen是vim中比较常用的插件管理工具,安装如下:
1、mkdir -p ~/.vim/autoload ~/.vim/bundle && \
curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim
2、在.vimrc文件中添加
execute pathogen#infect()
syntax on
filetype plugin indent on
3、再次打开vim即可生效
4、 安装插件(例如scala插件,nerdtree插件):
cd ~/.vim/bundle && \
git clone https://github.com/derekwyatt/vim-scala.git
cd ~/.vim/bundle && \