vi 配置

syntax enable
set nu

set relativenumber
set hlsearch

set autoindent
set shiftwidth=4
set tabstop=4
set expandtab
set cursorline
let g:netrw_liststyle = 3
let g:netrw_banner = 0
let g:netrw_winsize = 25
let g:netrw_browse_split = 3

set foldmethod=indent

zc 代码折叠

zo 代码展开

ctrl-f ctrl-b //整页翻页 f=forword b=backward
ctrl-d ctlr-u //翻半页 d=down u=up

:E :Vex :Sex 打开目录

ctrl+ww    切换左右窗口

文件或目录操作
创建文件 按 % 后, 输入文件名
创建目录 按 d 后, 输入目录名
删除文件或者目录 移动到对应的目标后, 按 D
重命名文件或者目录 移动到对应的目标后, 按 R

ctags安装

sudo apt install ctags

sudo ctags -R *   //在项目中建立tags索引文件

ctrl+]                  //跳转至光标所在对象定义之处
ctrl+t                  //返回跳转前位置

常用快捷键

x 删除光标处的字符

dd 删除整行

i 在光标前插入文本

a 在光标后插入文本

o 当前行下插入新行

u 撤销最后一次修改

:e! 放弃所有修改,从上次保存开始处再编辑

:wq 保存退出

:q! 不保存退出

/pattern:从光标开始处向文件尾搜索pattern

?pattern:从光标开始处向文件首搜索pattern

折叠方式

set fdm=indent

zc 折叠
zC 对所在范围内所有嵌套的折叠点进行折叠
zo 展开折叠
zO 对所在范围内所有嵌套的折叠点展开
[z 到当前打开的折叠的开始处。
]z 到当前打开的折叠的末尾处。
zj 向下移动。到达下一个折叠的开始处。关闭的折叠也被计入。
zk 向上移动到前一折叠的结束处。关闭的折叠也被计入。

多行复制

6,9 co 12
复制第6行到第9行之间的内容到第12行后面。

6,9 m 12

剪切第6行到第9行之间的内容到第12行后面。

G    移到文件的最后一行
nG    移到文件的第n行
w    移到下一个字的开头
W    移到下一个字的开头,忽略标点符号
b    移到前一个字的开头
B    移到前一个字的开头,忽略标点符号
L    移到屏幕的最后一行
M    移到屏幕的中间一行
H    移到屏幕的第一行
e    移到下一个字的结尾
E    移到下一个字的结尾,忽略标点符号
(    移到句子的开头
)    移到句子的结尾
{    移到段落的开头
}    移到下一个段落的开头
0或|    移到当前行的第一列
n|    移到当前行的第n列
^    移到当前行的第一个非空字符
$    移到当前行的最后一个字符
+或return   移到下一行的第一个字符
-    移到前一行的第一个非空字符

在vi中添加文本
命令    插入动作
a    在光标后插入文本
A    在当前行插入文本
i    在光标前插入文本
I    在当前行前插入文本
o    在当前行的下边插入新行
O    在当前行的上边插入新行
:r file    读入文件file内容,并插在当前行后
:nr file   读入文件file内容,并插在第n行后
escape    回到命令模式
^v char    插入时忽略char的指定意义,这是为了插入特殊字符
 
在vi中删除文本
命令    删除操作
x    删除光标处的字符,可以在x前加上需要删除的字符数目
nx    从当前光标处往后删除n个字符
X    删除光标前的字符,可以在X前加上需要删除的字符数目
nX    从当前光标处往前删除n个字符
dw    删至下一个字的开头
ndw    从当前光标处往后删除n个字
dG    删除行,直到文件结束
dd    删除整行
ndd    从当前行开始往后删除
db    删除光标前面的字
ndb    从当前行开始往前删除n字
:n,md    从第m行开始往前删除n行
d或d$    从光标处删除到行尾
dcursor_command   删除至光标命令处,如dG将从当产胆行删除至文件的末尾
^h或backspace   插入时,删除前面的字符
^w    插入时,删除前面的字
 

v 进入字符可视化模式
V 进入行可视化模式
Ctrl+v 进入块可视化模式

多行注释:
将光标移动到要注释的第一行位置
按ctrl + v进入 visual block模式
按字母j,或k(或者上下移动键)纵向选中需要注释的行
按大写字母I,进入插入模式
输入注释符号,例如##(需要添加几列就输入几个)
按esc键就注释多行了。

取消多行注释
将光标移动到要取消注释的第一行第一列位置
按ctrl + v进入 visual block模式
按小写字母h或l横向选中列的个数,按小写字母j或k纵向选中行的个数(同样可以使用上下左右移动键)
按d键或者delete键就可多行取消注释。

多行行尾加逗号
ctrl+v 3j $ A ,

多行变一行
V 3j J

 
http://www.pchou.info/linux/2016/11/10/vim-skill.html

最新文章

  1. linux建立文件夹软连接
  2. IIS安装和使用(Windows Server 2003)
  3. 20 BasicTaskScheduler0 基本任务调度类基类(二)——Live555源码阅读(一)任务调度相关类
  4. poj2533 LIS
  5. chrome拓展开发实战
  6. 关于C#中派生类调用基类构造函数的理解
  7. CefSharp 发布后在客户机上报找不到dll的问题
  8. 0Raspi开启root权限并登录使用
  9. 【python进阶】深入理解系统进程2
  10. ISCC2018(最新的考核解析)
  11. 02-Django框架介绍
  12. LeetCode--042--接雨水(java版)
  13. delphi读取xml文件
  14. Halcon常用算子01
  15. TP 真阳性 TN FP FN
  16. JS 在火狐浏览器下关闭弹窗
  17. docker 镜像自动升级脚本
  18. jsp smartupload学习
  19. Retrofit get post query filed FiledMap
  20. 【Unity3D/C#】Unity3D中的Coroutine详解

热门文章

  1. pat乙级 1018 锤子 剪刀 布
  2. ThreadLocal最终版本
  3. 11.SpringCloud Alibaba
  4. vue3中对于/deep/和::v-deep的警告信息处理
  5. vue 利用xlsx、xlsx-style、file-saver实现前端导出excel表格 (包括设置单元格居中、边框等样式) antdesignvue、elementui、vxetable 等都适用
  6. .Net简单使用了一下Redis
  7. WSL2安装nvm并配置npm镜像源
  8. js实现大转盘抽奖(vue举例)
  9. 自定义Ribbon负载均衡
  10. RabbitMQ的安装(linux版)