原文链接:http://blog.csdn.net/love__coder/article/details/6739670

1、光标移动

上:k

下:j

左:l 『字母L小写』

右:h

上一行行首:- 『减号』

下一行行首:+

行首:0 『数字0』

行尾:$

单词词尾或后一个单词词尾:e

后一个单词词首:w

单词词首或前一个单词词首:b

跳转到特定行::行号 ( :5  :跳转到第5行 )

上一屏:ctrl + b

下一屏:ctrl + f

上半屏:ctrl + u

下半屏:ctrl + d

向上滚屏:ctr + y

向下滚屏:ctr + e

跳到文件头:gg

跳到文件尾:G

2、搜索

向后模式搜索:/ + 搜索模式

向前模式搜索:?+ 搜索模式

注意:结合n和N向前向后查找

3、追加或插入

光标右侧追加:a

光标行尾追加:A

光标左侧追加:i

光标行首追加:I  『i 的大写』

光标下方插入行:o 【字母o】

光标上方插入行:O 【字母o的大写】

n到m行行首插入#: :n,m s/^/#/g 『1到5行,行首插入wow :1,3 s/^/wow/g 』

n到m+l行行首插入#: :n,+l s/^/#/g『1到6行,行首插入# :1,+5 s/^/#/g 』

4、删除

删除光标:x

删除光标左侧:X

删除光标所在的单词:dw

删除当前行:dd

删除光标至行尾:d$或D

删除当前行及以下n-1行:ndd  『n是数字,是要删除的行数』

删除n到m行: :n,m d 『删除1到3行     :1,3 d』 当m 用$ 时,表示到文档尾

5、复制粘贴

复制光标所在的单词:yw

复制光标至行尾:y$ 或Y

复制当前行:yy

复制行n次:yyn

复制当前行及以下n-1行:nyy『n是数字,是要复制的行数』

复制n到m行,粘贴到k+1行: :n,m co k 『复制1到3行,粘贴到第5行     :1,3 co 4』

剪切n到m行,粘贴到k+1行: :n,m m k 『剪切1到3行,粘贴到第5行     :1,3 m 4』

粘贴到光标下:p

粘贴到光标上:P

6、撤销回复

撤销:u

恢复:ctrl + r

7、替换

替换光标所在的字符:r

替换一个单词:cw

替换光标所在的前一个字符:cb

替换光标至行尾的所有字符:c$

替换当前行:cc

替换当前行的第一个old为new: :s/old/new

替换当前行的所有的old为new::s/old/new/g

替换当前行到最后行的第一个old为new::.,$s/old/new

替换当前行到最后行的所有old为new::.,$s/old/new/g

替换第n行到第m行的第一个old为new::n,m s/old/new

替换第n行到第m行的所有old为new::n,m s/old/new/g

替换所有行的第一个old为new: :%s/old/new
替换所有行的所有old为new: :%s/old/new/g

8、其他

查看当前设置::set all

显示行号::set nu

隐藏行号::set nonu

不保存退出::q

不保存强制退出::q!

保存编辑::w

保存并退出::wq

把两行连接在一起:J

把n行连接在一起:nJ      光标所在行及其下n-1行

执行shell命令::! shell  例如:查看到当前时间::! date

读取shell执行的结果,并把结果放在光标的后面::r!shell 例如:列出目录中的文件::r!ls

简单加密文件::X

vim +n filename 打开文件filename,并且把光标置于第n行行首

vim + filename 打开文件filename,并把光标置于最后一行行首

vim +/pattern filename 打开文件,并把光标置于第一个与pattern匹配的串行

vim -r filename 在上次vim崩溃处恢复filename

vim常用命令(复习版)(转)的更多相关文章

  1. vim常用命令总结(转)

    vim常用命令 -------------------------------------------------------------------------------------------- ...

  2. 图解vim常用命令

    VI 即 Visual Interface,可视化接口,VIM是VI的增强版 (improved),两张图总结vim常用命令. 图片来自 https://www.cnblogs.com/yangjig ...

  3. 转 vim常用命令总结

    vim常用命令总结 vim 选择文本,删除,复制,粘贴   文本的选择,对于编辑器来说,是很基本的东西,也经常被用到,总结如下: v    从光标当前位置开始,光标所经过的地方会被选中,再按一下v结束 ...

  4. Vim常用命令总结

    Vim常用命令总结: 下文是小编自己整理的关于日常linux vim编程过程中用的一些常用命令,资料参考鸟哥的 如果有需要的小伙伴可以参考一下!(底部有下载地址) 一. 一般模式可用的按钮说明 1.1 ...

  5. vim常用命令(iOS)

    iOS下vim的使用: vim 的三种模式: .一般模式(默认) .插入模式(写文字) .命令行模式(保存) 各种模式的功能区分如下: .一般模式:控制屏幕光标的移动,字符和光标的删除,移动复制某区段 ...

  6. 实用手册:130+ 提高开发效率的 vim 常用命令

    Vim 是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用.和 Emacs 并列成为类 Unix 系统用户最喜欢的编辑器.这里收录了130+程 ...

  7. vim常用命令汇总

    vim常用命令汇总: http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html 定位 本行第一个字符 ctrl+$ ...

  8. [转]vim常用命令

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

  9. vim常用命令 vim键盘布局

    vim键盘布局,vim快捷键 vim常用命令:

  10. VI/VIM 常用命令

    VI/VIM 常用命令=========== 整理自鸟哥的私房菜 ---------- - 移动光标 命令                    | 描述----------------------- ...

随机推荐

  1. bzoj 1221: [HNOI2001] 软件开发 (网络流)

    注意说如果直接从每天的新的连向旧的,那整个图的最大流还是不变,答案就一直会是Σni*f type arr=record toward,next,cap,cost:longint; end; const ...

  2. 控制Docker Compose的启动顺序的一个思路

    起源 守护进程daemon 从守护进程的角度看Docker Compose Docker的解决方案 思路 代码 结果 起源 Docker Compose提供了一个depends_on参数. https ...

  3. [Leetcode] Construct binary tree from preorder and inorder travesal 利用前序和中续遍历构造二叉树

    Given preorder and inorder traversal of a tree, construct the binary tree. Note:  You may assume tha ...

  4. BZOJ3542 DZY Loves March 【map + 线段树】

    题目链接 BZOJ3542 题解 线段树裸题,,对每一行每一列开线段树 由于坐标很大,用\(map\)维护根下标 化一下式子,只用维护区间和,区间平方和,区间存在的个数 #include<alg ...

  5. YBT 5.4 状态压缩动态规划

    #loj 10170. 「一本通 5.4 例 1」骑士 看数据范围n<=10,所以不是搜索就是状压dp,又因为搜索会超时所以用dp dp[i][k][j]表示现已经放到第i行,前面共有k个,这一 ...

  6. 谈谈Javascript的匿名函数

    JQuery 里面有这么一种代码: (function(){ // code here })(); 当一个匿名函数被括起来,然后再在后面加一个括号,这个匿名函数就能立即运行起来,神奇吧! 要说匿名函数 ...

  7. 微服务学习一:idea中springboot集成mybatis

    一直都想学习微服务,这段时间在琢磨这块的内容,个人之前使用eclipse,现在用intellij idea来进行微服务的开发,个人感觉intellij idea比eclipse更简洁更方便,因为int ...

  8. Object.defineProperty 与 属性描述符

    为JavaScript对象新增或者修改属性,有两种不同方式:直接使用=赋值或者使用Object.defineProperty 定义,使用后者的话还可以设置属性的描述符. Object.definePr ...

  9. 数据结构:Rope-区间翻转

    BZOJ1269 上一篇文章介绍了Rope的简单应用,这里多了一个操作,区间翻转 同时维护一正一反两个rope……反转即交换两个子串 下面给出代码: #include<cstdio> #i ...

  10. [洛谷P1527] [国家集训队]矩阵乘法

    洛谷题目链接:[国家集训队]矩阵乘法 题目背景 原 <补丁VS错误>请前往P2761 题目描述 给你一个N*N的矩阵,不用算矩阵乘法,但是每次询问一个子矩形的第K小数. 输入输出格式 输入 ...