vim 101
如果你不需要在服务器上操作,可以忽略这篇文章
如果它是你日常的一部分,VIM是你无法绕开的坎
一、四种模式
normal,默认模式
复制:
复制光标所在行:yy
复制多行:行数yy,比如5yy
光标处复制到行尾:y$
剪切:
剪切光标所在行:dd
剪切多行:行数dd,比如5dd
剪切光标位置到行尾:d$
粘贴:
p
光标:
跳转到文件头:gg
跳转到文件尾:shift+0
跳转到行头:0
跳转到行尾:$
visual,可视模式,通过v进入
块复制:选择要复制的块,按下y复制,按下p粘贴
块剪切:选择剪切的块,按下d复制,按下p粘贴
insert,插入模式,通过i进入
可编辑
command-line,命令行模式,通过:进入
窗口:
分割垂直:vert或者vs
分割水平:sp
切换:control+w+方向键
新建:control+w+n
关闭:control+w+c
终端:
:term,默认是水平
:vert term,垂直
:exit, 退出
打开多个文件:
vim *.h *.py
查看打开的文件::args
下一个文件::n
上一个文件::N
对比文件
vimdiff 文件1 文件2
打开一个文件后,再与另一个文件对比::vert diffsplit 文件名
搜索:
/需要搜索的内容
*键移动到下一个匹配到内容
替换:
光标所在行—:s/被替换的文本/替换的文本
全文—:%s/被替换的文本/替换的文本
二、设置
自定义
在Debian系统下,自定义设置需要配置vim $HOME/.vimrc
显示行号:set number
中文乱码:
set termencoding=utf-8
set encoding=utf8
set fileencodings=utf8,ucs-bom,gbk,cp936,gb2312,gb18030
语法高亮:syntax on
swap file
删除:d
放弃修改:q或a
包管理器
安装插件:
在vimrc中添加 call minpac#add(‘包名)
执行 :PackUpdate
删除插件:
在vimrc中删除对应的行
执行:PackClean
三、脚本
支持变量、字典、表达式、控制结构、函数,有自己的内置函数
通过source [文件名].vim来载入一个vim脚本