三种模式
命令行模式
任何模式下 ESC 进入
编辑模式(INSERT)
从命令模式下 a, i 等 进入
可视化模式(VISUAL)(VISUAL BLOCK)
命令模式下,敲 v 进入
非编辑模式, ctrl + v

cd /etc/vim/
root权限编辑 vimrc, 增加一行 set number ? 显示行号

单次显示行号:
vim编辑器的命令模式输入:set number

永久显示行号:
在etc/vim下的vimrc文件,添加set number即可永久在vim编辑器显示行号。

若在vimrc文件下添加,不起作用,使用以下命令:
echo "set number">>~/.vimrc

vim编辑器改变上下左右变ABCD问题
上下左右键:echo "set nocompatible">>~/.vimrc

基本操作
a, i, o, O 进入编辑模式
ESC 进入命令模式
:q 退出vi (q! 不保存强行退出)
:w 保存 (wq 保存并退出)
:x 保存退出
:u 撤销操作
:saveas 另存为
:bn, :bp 同时打开多个文件时,切换到上一个或者下一个
x 删除当前字符
dd 删除当前行 ,删除内容存入剪贴板(p粘贴)
h,j,k,l 和 左下上右 移动光标(某些情况下方向键也是命令的一部分)

0 到行首
^ 到行首第一个非空字符
$ 到行尾
g_ 到行尾最后一个非空字符

ctrl+f 向后翻页 (forward)
ctrl+b 向前翻页 (backward)

ctrl+d 向后翻半页
ctrl+u 向前翻半页

ctrl+e 向下滚1行
ctrl+y 向上滚一行

一阶操作
gg 到第一行
G 到最后一行
10G 到第10行 (:10 等价)
e 到本单词结尾
w 到下一个单词开头
/ABC 从光标处开始查找ABC (n, N移动到下一个/上一个匹配的地方)

yy 拷贝当前行(会把换行符号一起拷贝)
p 粘贴在光标处 (大写P粘贴到光标前)
u 撤销上一步操作 (支持多级)
ctrl+r 反撤销 (支持多级)
. 重复上一条命令
N<命令> 重复N次命令 (2dd; 4p; 6iABC)
2dd 删除两行
4p 粘贴4次
6iABC 插入6个ABC (i->insert), 输入完成后按 ESC ,然后回车

二阶操作
% 移动到匹配的括号处(三种括号都行)
* 移动到下一个与之相同的单词
# 移动到上一个与之相同的单词

ye 拷贝单词 [e表示到单词词尾]
y/ABC 拷贝到ABC位置 [/ABC 表示查找ABC]
y2/ABC 拷贝到第二个ABC位置
gue 单词 转小写
gUe 单词转大写

d2l 往后删除两个字符(相当于 2x)
2dd 删除两行
d^ 删除光标到行首
d$ 删除光标到行尾
de 删除单词
d/kk 删除光标到kk位置
d2/kk 删除到光标到第二个kk位置

d 改成y 就是拷贝了

三阶操作
fk 光标移动到下一个k字母位置
dfk 从光标处删除到k字母位置
2fk 查找第二个k字母位置
v 进入可视化操作
匹配选择:如 if (strcmp(“ABC”, szStr) == 0) 光标在 A 位置
i” 选中ABC
a” 选中“ABC”
i) 选中 “ABC”, szStr
2a) 选中(strcmp(“ABC”, szStr) == 0)

ctrl+v:进入块操作
1: 移动方向键选择块
2: 每行光标前面加内容:选择块 -> I(大写 i ) -> 输入要增加的内容 -> [ESC] ->回车
3: 每行光标后面加内容:选择块 -> A ->输入要增加的内容 ->[ESC] ->回车
4: 左右缩进:选择块 -> < 和 >
5: 自动缩进:选择块 -> =
ctrl+p:insert 模式下自动补齐功能 (ctrl+n)

四阶操作
使用正则表达式
替换:%s/int/unsigned int/g ?所有int替换位unsigned int
替换某些行:1,2s/int/unsigned int/g
替换10行到末行:10,$s/int/unsigned int/g
行首加ABC %s/^/ABC/g
行尾加ABC %s/$/ABC/g
注:正则表达式中 ^表示行首,$表示行尾
13,20s/^[\/]*//g

3vim编辑器的更多相关文章

  1. linux 下crontab -e 命令插入及保存

    由于功能需要,用到linux定时任务. 一般我们都是crontab -e 进去写好定时任务,直接保存退出就可以了,如果是第一次创建定时任务, 系统会选择默认编辑器,就不好保存文件. 在网上参考了一篇文 ...

  2. NiceMark——我的Markdown编辑器

    NiceMark--我的Markdown编辑器 闲来无事,写了一个Markdown编辑器.基于electron,完全采用Web前段技术(Html,css,JavaScript)实现.代码已托管在Git ...

  3. 关于Unity3D自定义编辑器的学习

    被人物编辑器折腾了一个月,最终还是交了点成品上去(还要很多优化都还么做).  刚接手这项工作时觉得没概念,没想法,不知道.后来就去看<<Unity5.X从入门到精通>>中有关于 ...

  4. 在ASP.NET Core中使用百度在线编辑器UEditor

    在ASP.NET Core中使用百度在线编辑器UEditor 0x00 起因 最近需要一个在线编辑器,之前听人说过百度的UEditor不错,去官网下了一个.不过服务端只有ASP.NET版的,如果是为了 ...

  5. 07.LoT.UI 前后台通用框架分解系列之——轻巧的文本编辑器

    LoT.UI汇总:http://www.cnblogs.com/dunitian/p/4822808.html#lotui 上次说的是强大的百度编辑器 http://www.cnblogs.com/d ...

  6. 富文本编辑器Simditor的简易使用

    最近打算自己做一个博客系统,并不打算使用帝国cms或者wordpress之类的做后台管理!自己处于学习阶段也就想把从前台到后台一起谢了.好了,废话不多说了,先来看看富文本编辑器SimDitor,这里是 ...

  7. 玩转Vim 编辑器

    一:VIM快速入门 1.vim模式介绍 以下介绍内容来自维基百科Vim 从vi演生出来的Vim具有多种模式,这种独特的设计容易使初学者产生混淆.几乎所有的编辑器都会有插入和执行命令两种模式,并且大多数 ...

  8. 个人网站对xss跨站脚本攻击(重点是富文本编辑器情况)和sql注入攻击的防范

    昨天本博客受到了xss跨站脚本注入攻击,3分钟攻陷--其实攻击者进攻的手法很简单,没啥技术含量.只能感叹自己之前竟然完全没防范. 这是数据库里留下的一些记录.最后那人弄了一个无限循环弹出框的脚本,估计 ...

  9. [BootStrap] 富编辑器,基于wysihtml5

    在我的周围,已经有很多人在使用BootStrap,但对于任何一个带留言.评论.提问.文章编辑功的网站,编辑器永远是重中之重,显然,早期的编辑器完全没考虑过BootStrap的出现,或皮肤跟网站不匹配, ...

随机推荐

  1. 1-0 superset的安装和配置

    Superset安装及教程官网(http://airbnb.io/superset/installation.html)讲解的已经够详细的了,本篇以官网教程为蓝本进行说明. 入门 Superset目前 ...

  2. 数组内Merge

    数组al[0...mid-1]和al[mid...num-1]两个部分都已经分别排好序.要求合并使得整个数组al有序.请给出合并merge的代码.要求空间复杂度为O(1). /* 数组a[begin, ...

  3. Oracle应用技术精华教程:管理还原段

    管理还原段 在oracle 9i 之后提供了两种方法来管理还原数据 自动的还原数据管理:oracle 自动管理还原段的创建.分配和优化 手动的还原数据管理:oracle 手动管理还原段的创建.分配和优 ...

  4. EL表达式格式化日期时间

    1.首先引入标签库 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> ...

  5. cursor:hand & cursor:pointer

    1.cursor:hand & cursor:pointer都是将鼠标设置为手形. 2.cursor:hand存在兼容性问题,firefox并不支持该属性值.但大部分主流浏览器支持cursor ...

  6. Android 简单案例:onSaveInstanceState 和 onRestoreInstanceState

    import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widg ...

  7. 解决:Bitmap too large to be uploaded into a texture exception

    前几天拿锤子手机做测试,启动页面的闪屏直接黑屏.. 所以看下日志,百度一下 找到解决方案,特此记录. 简单说就是硬件加速的时候,对图片的大小有限制.不同设备可能有不同的最大值.这个问题悲催的地方是,程 ...

  8. 【HTTP header】【Access-Control-Allow-Credentials】跨域Ajax请求时是否带Cookie的设置

    1. 无关Cookie跨域Ajax请求 客户端 以 Jquery 的 ajax 为例: $.ajax({ url : 'http://remote.domain.com/corsrequest', d ...

  9. postgresql----索引失效

    什么是索引失效?如果where过滤条件设置不合理,即使索引存在,且where过滤条件中包含索引列,也会导致全表扫描,索引不起作用.什么条件下会导致索引失效呢? 1.任何计算.函数.类型转换 2.!= ...

  10. Requested bean is currently in creation: Is there an unresolvable circular reference?

    spring容器初始化报错:循环依赖,错误信息如下: Requested bean is currently in creation: Is there an unresolvable circula ...