# vim常用技巧

## 行操作
-----------------------------
- 行首 0
- 行尾 $
- 第一个非空字符 ^

## 列编辑模式
-----------------------------
- windows下Ctrl + q进入可视块
- linux下Ctrl + v进入列编辑模式

- 选中需要操作的部分,Shift + i 进入插入模式
- 输入要插入的字符
- ESC

## 撤销
-----------------------------------------------------
- 撤销 u
- 反撤销 ctrl+r

## 缩进
-----------------------------
- v进入可视模式
- 选择多行,< 左缩进,> 右缩进

## 十六进制
-----------------------------------------------------
:%!xxd ---->切换到十六进制显示
:%!xxd -r ---->切回文本方式显示

## 显示空格
-----------------------------------------------------
- 空格显示黄色的背景色,特别难看。
- 后面用set nohls,取消空格显示
- 取消语法高亮显示 :noh

## 翻页
-----------------------------------------------------
Ctrl + f 向前翻页
ctrl + b 向后翻页

Ctrl + d 向下翻半屏
Ctrl + u 向上翻半屏

## 复制粘贴
-------------------------------------------
- 复制特定的某一段:把光标移到要复制的文本的头部,按下“v”,往后移动光标,光标所过之处的字符>都会高亮,移到欲复制文本的尾部后,按下“y”,高亮文本全部被复制到剪粘板。按下“p”粘贴到目的地。
- 剪切特定的某一段:把光标移到要剪切的文本的头部,按下“v”,往后移动光标,光标所过之处的字符>都会高亮,移到欲剪切文本的尾部后,按下“d”,高亮文本全部被复制到剪粘板。按下“p”粘贴到目的地。

## 查找
-------------------------------------------
- /a4 查找字符
- /00/ a4 有空格用转义符\Space
- n 正向选择
- N 反向选择

## 插入多个空行不进入插入模式
-----------------------------
1. 输入数字(行数)
2. o/O
3. ESC
4. 例如插入3个空行 3 + o + ESC

## 统计字符串出现次数
-----------------------------
:%s/字符串//ng

### 大小写转换
-----------------------------
- ~ 光标处字母大小写转换
- gU 进入可视模式,小写转大写
- gu 进入可视模式,大写转小写

### 行首或行尾添加
-----------------------------
- 行首添加 `:%s/^/要添加的内容`
- 行尾添加 `:%s/$/要添加的内容`

### 全局替换
-----------------------------
- 替换 `:%s/原内容/新内容/g`

#### 批量操作
-----------------------------
- 4yy 复制
- 4dd 删除
- 4gg 移动到第4行
- d} 删除段

### 统计字数
-----------------------------
在visual(可视)模式下,选中要统计的文本,先按g,再按Ctrl+g

### 交换行
-----------------------------
- ddp 交换行

- xp 交换字符

### vim的历史命令窗

-----------------------------

有时候在vim下边会出来另一个窗口,因为在我想退出编辑器时把“:q”敲成了“q:”。号称这个就是vim的命令历史窗口。要退出这个窗口也很简单,直接按回车或者输入“:q”都可以。

### 推荐
-----------------------------
- [推荐vim配置](http://www.cnblogs.com/jiftle/p/7216282.html)

## 引用
-----------------------------

- [Windows下配置Vim插件管理器](http://www.cnblogs.com/jiftle/p/6918157.html)
- [VIM高效率操作 (转载)](http://www.cnblogs.com/ggjucheng/archive/2011/12/15/2288809.html)
- [vim实用配置(转)](http://www.cnblogs.com/ggjucheng/archive/2011/12/15/2288795.html)

vim常用技巧的更多相关文章

  1. Vim 常用技巧:

    Vim 常用技巧: 将回车由默认的8个空格改为4个空格: 命令:set sw=4 修改tab为4空格: 命令:set ts=4 设置每一级的缩进长度: 命令:set shiftwidth=4 设置文件 ...

  2. [skill][vim] 常用技巧与配置

    一:  光标行列高亮 可以使用 :help highlight 查看相信帮助可颜色配置. set cursorline set cursorcolumn highlight Cursorline ct ...

  3. vim使用技巧(插入,删除,查找,复制,粘贴,剪切)

    原文链接:http://blog.csdn.net/qq_38646470/article/details/79643000 编程人员很喜欢的编辑器:vim 先搞清楚vim的三种模式: 1.命令模式: ...

  4. vim 常用操作技巧

    记录常用的vim操作技巧,基本满足90%的日常编辑使用. 文档操作 vim test.txt 打开当前目录下的test.txt文档,若不存在则创建该文件 :w 保存当前修改到文件 :w bak.txt ...

  5. [转]vim常用命令

    [转]vim常用命令 http://www.cnblogs.com/sunyubo/archive/2010/01/06/2282198.html http://blog.csdn.net/wooin ...

  6. vi 常用技巧

    vi/vim : Visual Interface/VI iMproved VI命令可以说是Unix/Linux世界里最常用的编辑文件的命令了,但是因为它的命令集众多,很多人都不习惯使用它,其实您只需 ...

  7. 无插件Vim编程技巧

    无插件Vim编程技巧 http://bbs.byr.cn/#!article/buptAUTA/59钻风 2014-03-24 09:43:46 发表于:vim  相信大家看过<简明Vim教程& ...

  8. 无插件VIM编程技巧(网摘)

    无插件VIM编程技巧 原文出处:[陈皓 coolshell] 相信大家看过<简明Vim教程>也玩了<Vim大冒险>的游戏了,相信大家对Vim都有一个好的入门了.我在这里把我日常 ...

  9. Vim使用技巧汇总

    一 写在开头 1.1 本文内容 Vim使用技巧与学习资源汇总. 二 Vim学习资源 1. Vimtutor 2. Vim中文帮助(http://vimcdoc.sourceforge.net/doc/ ...

随机推荐

  1. react那些事儿

    一.参考链接https://reactjs.org/http://react-china.org/https://doc.react-china.org/https://hulufei.gitbook ...

  2. 关于java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to 实体类

    由于业务逻辑的复杂,有些sql语句写法hql不支持,所以hibernate查询直接用了sql原生查询,由于数据结果根据四个表查询出来,所以无法使用方法.addEntity(XXXXXXX.class) ...

  3. BZOJ.3170.[TJOI2013]松鼠聚会(切比雪夫距离转曼哈顿距离)

    题目链接 将原坐标系每个点的坐标\((x,y)\)变为\((x+y,x-y)\),则原坐标系中的曼哈顿距离等于新坐标系中的切比雪夫距离. 反过来,将原坐标系每个点的坐标\((x,y)\)变为\((\f ...

  4. JS简单实现滚动自动加载新内容(懒加载)

    加载源 // 这里存后台发来的数据 var galleryList = [ { src: "./images/1.jpeg", desc: "11111" }, ...

  5. dd制作linux启动盘

    1.fdisk /dev/sdb 删除分区,新建分区 2.mkfs.vfat /dev/sdb1 3.dd bs=4M if=CentOS.iso of=/dev/sdb

  6. 2017.08.15【NOIP提高组】模拟赛B组

    Summary 今天比赛很差很差,掉到谷底.第一题快排打错了,漏了递归,变成一个while循环.最后一题k忘记减一,答案一直是无穷大,所以没交.第三题没时间调DP就打了个递归,第二题状态想歪了.四道题 ...

  7. Codeforces Round #447 (Div. 2) 题解 【ABCDE】

    BC都被hack的人生,痛苦. 下面是题解的表演时间: A. QAQ "QAQ" is a word to denote an expression of crying. Imag ...

  8. JS_高程3.基本概念(5)语句

    1.if语句 2.do-while语句:后测循环语句,循环体内的代码至少执行一次. 3.while语句:前测循环语句. 4.for语句:前测循环语句. 注意:在ECMAScript中不存在块级作用域, ...

  9. HTML5 学习07——Video(视频)Audio(音频)

    <video> 元素:提供了 播放.暂停和音量控件来控制视频. width 和 height 属性:控制视频的尺寸 <video> 与</video> 标签之间插入 ...

  10. mac下host配置 + mac修改了环境变量却不生效:zsh: command not found: xxx

    https://blog.csdn.net/hlllmr1314/article/details/52228672 在/etc/profile中配置了go语言环境变量: export GOROOT=/ ...