# 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. C#Workbooks 对象的 Open 方法参数说明

    打开一个工作簿. excelApp.Open(FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword,IgnoreRea ...

  2. [iOS]视图与UIVIew

     1.UIView以及各控件间的关系: 2.视图的层次结构 一般来说一个应用中只有一个UIWindow.

  3. ;(function(){ //代码})(); 自执行函数开头为什么要加;或者!

    我们有时候会在自执行函数中看到这样的代码;(function(){ //我们的代码.. alert('Hello!'); })(); !(function(){ //我们的代码.. alert('He ...

  4. Wannafly Winter Camp 2019.Day 8 div1 I.岸边露伴的人生经验(FWT)

    题目链接 \(Description\) 给定\(n\)个十维向量\(\overrightarrow{V_i}=x_1,x_2,...,x_{10}\).定义\(\overrightarrow{V}= ...

  5. BZOJ.4826.[AHOI/HNOI2017]影魔(树状数组/莫队 单调栈)

    BZOJ LOJ 洛谷 之前看\(mjt\)用莫队写了,以为是一种正解,码了3h结果在LOJ T了没A= = 心态爆炸(upd:发现是用C++11(NOI)交的,用C++11交就快一倍了...) 深刻 ...

  6. SSM项目搭建

    1.新建包 com.javen.controller com.javen.service com.javen.dao com.javen.domain com.javen.mapper 2.log4j ...

  7. yum与rpm的区别以及详细介绍

    rpm是由红帽公司开发的软件包管理方式,使用rpm我们可以方便的进行软件的安装.查询.卸载.升级等工作.但是rpm软件包之间的依赖性问题往往会很繁琐,尤其是软件由多个rpm包组成时. Yum(全称为 ...

  8. Mybatis 传递多个参数

    Mybatis提供了4种传递多个参数的方法: 1 Map sql语句 接口 调用方法 这个方法虽然简单易用,但是存在一个弊端:Map存储的元素是键值对,可读性不好. 2 注解 使用MyBatis的参数 ...

  9. pointer-net

    Pointer network 主要用在解决组合优化类问题(TSP, Convex Hull等等),实际上是Sequence to Sequence learning中encoder RNN和deco ...

  10. selenium3 文件系列之------ opencsv读取csv文件

    最近在学习selenium有关文件的读取测试,今天先总结一下如何读取csv文件.CSV的定义是与逗号分隔的值(Comma-Separated Values),在Java中需要用到第三方lib去处理读取 ...