vim总结
- Unix或Linux的文本编辑器,功能强大、高度可定制
- 删除buf*以外的文件:lrm -rf buf*~
- vim = vi + IMproved(多级撤销、语法加亮和自动补全、支持多种插件、通过网络协议HTTPS或SSH编辑文件、多文件编辑、可编辑压缩格式文件gzip或zip)
- vimrc(rc=run command) vim配置,分为系统级别和用户级别,每行作为一句命令来执行
- 命令模式下输入:h vimrc(查看vimrc介绍),:version(查看版本信息):e ~/.vimrc(快速打开)
- 设置vimrc有两种方式:vim ~/.vimrc文件 或者 命令模式下:set number(后+?:查看是否已配置;) vimrc注释方式
- vim四种常见模式:
- 普通模式:默认模式,移查删改
- 可视模式:对一整块区域进行操作。按v进入,选中一块文字,dd删除
- 插入模式:(a或者i进入)
- 命令模式:在普通模式进行操作
- 移动、跳转与缩进
- h:左;l:右;j:上;k:下;$:移动到行尾;^/0:移动到行首(包括缩进);
- 单词或字符串移动:w/W:下个单词开头;b/B:反向移动;e/E:下一个单词结尾 ;g/G:反向
- 跳转:ctrl+f:向下;ctrl+b:向上;ctrl+d:向下半页;ctrl+u:向上半页;gg:移动到第一行;n+gg:移动到第n行;GG:移动到最后一行;G/g+ctrlg:查看文件详情;
- 缩进:>>:右缩进;<<:左缩进;(命令模式):75,80>:75-80行统一缩进;(命令模式):80>3:80后三行统一缩进
- 删除、复制与粘贴:
- vim中的含义:剪贴:dd=delete;复制:yy=yank;粘贴:pp/PP=put;撤销:uu=undo;重做:ctrl+rr=redo
- vim寄存器:无名寄存器(""),数字寄存器("+数字),有名寄存器("+名称),黑洞寄存器(:reg 查看寄存器)
- "a+yy:命名a寄存器复制内容;"_dd通过黑洞寄存器删除;yw:复制一个字符串;y2w:复制两个字符创;
- x:删除光标下或者前的字符;p:粘贴 ;d{hjkl}:删除上下左右;d$:删除光标到行尾;d^:删除光标到行首。
- n+dd:删除向下n行;n+dw:正向删除单词n次;nw:正向移动单词n次;
- 修改、查找与替换:
- 向一个方向重复插入:普通模式n+{hjkl}+输入内容+esc
- 转换: 大小写转换:~;单词转换(光标在首字母):g~w;对上一个操作的重复:.;整行转换:g~~/g~$;gu/uw:转换单词大小写;
- 查找:f(正向)/F(反向):查找一个字符;t:查找字符的前一个字符;dt/df:删除查找的字符或查找的前一个字符;/:命令行查找(n:向下;N:向上);
- 替换::s/a/b/g:当前行将a替换成b;:%s/a/b/g:全局a替换成b
- 普通模式下的替换:shift+r:进入替换模式;r:单个字符替换;cw:修改单个单词;
- 缓冲区与多文本编辑
- 缓冲区(临时存放vim打开过的文件)
- 查看方式::files :buffers :ls
- 下一个缓存区 :bn;上一个缓存区 :bp;第一个 :bf;最后一个 :bl;指定缓存区 :buffer Number/FileName;编辑所有缓存区 :ball;切换交换buffer Ctrl+^/b#
- 退出所有 :qall!;写入所有 :wall!;添加一个新的缓冲区 :badd+名称;删除缓冲区 :bd[elete];删除n-m/所有缓存区 :n,m/%bd;bufdo set number :bufdo{CMD};打开文件目录列表 :E/:bd
- 分屏操作(ctrl+w组合来操作)
- Vim -O/o n:水平/垂直分屏(n,数字)
- ctrl+w c/q :关闭当前窗口
- ctrl+w s:上下分割打开文件
- :sp filename:上下分割,并打开一个新文件
- ctrl+w v:左右分割
- :vsp filename:左右分割,并打开一个新文件
- 移动(ctrl+w)上下左右KJHL +增高 -降低 =均高
- 标签就是容纳一系列窗口的容器
- :tabnew+名称 新建
- :tabfind 查找
- :tabs 显示已打开标签列表
- :tabclose 关闭当前标签
- :tabonly 仅保留当前标签
- tabn/p/first/last 移动到下/上/第一/最后一个标签页
- :tabm 将当前标签页放置到指定位置
- 标签操作
- gt移动 ngt移动到n个位置
- :tabe 编辑标签中的某个文件
- tabm 0/tabm 移动当前tab到第一/最后一个
- tabm {i} 移动当前tab到i+1的位置
- 可视化模式(可视化模式下对文本块整体进行的操作)
- v:激活面向字符的可视模式
- V/shift+v:激活面向行的可视模式
- ctrl+v:激活面向列块的可视模式
- gv:重选上次高亮选区
- o:切换选取边界
- i:选中边界之内的 {:选中 >:缩进
- .:重复操作(缺陷:只能重复操作同等数量的字符) u:撤销操作
- x:删除单个字符
- r:替换
- e:移动到单词词尾
以上内容仅代表小白个人在程序猿学习工作道路上的知识总结,如有错误和理解不到位的地方,欢迎各位读者批评斧正,给出宝贵意见,小白将万分感谢。