# 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. SpringBoot的国际化使用

    在项目中,很多时候需要国际化的支持,这篇文章要介绍一下springboot项目中国际化的使用. 在这个项目中前端页面使用的thymeleaf,另外加入了nekohtml去掉html严格校验,如果不了解 ...

  2. XamarinSQLite教程创建数据库

    XamarinSQLite教程创建数据库 安装SQLite/SQL Server Compact Toolbox后,就可以使用该插件创建数据库了.操作步骤如下: (1)在Visual Studio中, ...

  3. Codeforces.1110E.Magic Stones(思路 差分)

    题目链接 听dalao说很nb,做做看(然而不小心知道题解了). \(Description\) 给定长为\(n\)的序列\(A_i\)和\(B_i\).你可以进行任意多次操作,每次操作任选一个\(i ...

  4. BZOJ4910 : [Sdoi2017] 苹果树

    问题等价于树形依赖背包,允许一条链每个点各免费一次. 设$f[i][j]$表示按DFS序考虑到$i$,体积为$j$的最大收益. 先放入不能免费的物品,等遍历完儿子后再放入必选的物品,那么$i$到根路径 ...

  5. ORM字段操作

    django orm 建表字段 在django modle 中,我们定义的类,他的对象就是数据库表中的一行数据!!! django orm 基础 一:modle的各个字段: 在python中以code ...

  6. NodeJS缓冲区

    NodeJS缓冲区 JavaScript语言本身在I/O时只有字符串数据类型,没有二进制数据类型,但在处理流数据时,必须用到二进制数据,因此在Node中,定义了一个Buffer类作为存放二进制数据的缓 ...

  7. 一款好用的轮播插件swiper,适用于移动端和web

    swiper的dom布局 <div id="commentsSwiper" class="swiper-container"> <div cl ...

  8. Chrome_调试CSS

    1.我们都知道chrome浏览器打开开发者工具的Sources 栏可以查看css文件,并且可以实时修改样式,查看效果,但是这里修改的内容并不会保存到源文件中. 2.  以下方法可以使在chrome浏览 ...

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

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

  10. pygame-KidsCanCode系列jumpy-part14-背景音乐及音效

    没有音乐和音效的游戏是没有灵魂的,这回讲解如何处理背景音乐及跳跃音效.加载music及sound的方法,之前已经写过,见:pygame 笔记-8 背景音乐&子弹音效 . 先介绍一个很棒的生成各 ...