vim操作



插入模式         命令行模式        
末行模式



命令行模式  ->   插入模式

i --->   在当前光标的前一个插入

I --->   在行首插入

a --->   在当前的光标的后一个插入

A --->   行尾插入

o --->   在光标所在的这一行的下一行插入

O --->   在光标所在的这一行的上一行插入

s --->   删掉当前光标所在的字符并且进入插入模式

S --->   删掉当前光标所在的这一行并且进入插入模式





命令行模式下:

    dd  删除当前光标所在的这一行

    yy 复制当前光标所在的这一行

    p  粘贴之前复制的文本,在当前光标的下一行

    P  粘贴之前复制的文本,在当前光标的上一行

   

    连用

    d + 向下键   删除当前光标所在的行及下一行   ==> dj

    d + 向上键   删除当前光标所在的行及上一行   ==> dk

    d + 向左键   删除当前光标前一个字符         ==> dh

    d + 向右键   删除当前光标所在的一个字符     ==> dl



    h    j     k      l

    左   下    上    




    ndd  删除从当前光标所在的行的以下n行



    gg   跳到当前文本的第一行

    G    跳到当前文本的最后一行

     

    ngg  可以跳到当前文本的第n行

    /*vim xxx.c  +15 */  打开文本并且跳到15行

   



    D    删除当前光标之后的这一行的所有数据

    dG   删除当前光标到文本结束的所有行



    end   跳到行尾

    home 跳到行首



    W    往后跳一个单词





    v    左右上下拉黑然后按d删除



    r + 字符  可以将当前光标下的字符替换成该字符

    n+r+ 字符  可以从当前光标开始以下的n个字符全部替换成该字符

   

    v    拉黑之后 + r + 字符  
将拉黑的区域换成该字符



    u    撤消上一步的动作

    ctrl + r  撤消上一次所撤消的东西



    块操作

    ctrl + v   进入可视块   拉黑一块区域  
按d  删除此块区域

   

    块操作  插入

    ctrl + v   往下拉    按 I  
进入块操作插入模式   输入完之后按esc退出





    打标: 暗标

    m + a --> z    在某一行打标      ' + 标码  (将光标跳到哪个标码之下)



    删除

    从当前的光标删除到标码           d + ' + 标码



    插入模式:

    ctrl + u      删除光前光标前的所有字符

    ctrl + w      删除从当前光标开始的前一个单词



    ctrl + p / ctrl + n  可以补全 (可以补全头文件的函数)

   

    末行模式:

    :wq      w  保存  q  退出    


    :wq!     !   强制

    :x       保存退出

    :X       对文本进行密码保护      取消密码  :X  
密码不写

    :e!      回到最老的文件,没有改动的文件

    :!sh

    :!bash   创建一个新的终端去做其它事情,回来时ctrl+ d

    :!command  执行该命令

    ctrl + z  将vim掉到后台,然后通过fg将vim掉到前台

    :e   xxx.c    跳到另一个文件中   e  edit 编辑    ctrl + o
返回上一次跳过去的文件

    :split   将当前窗体分成两个  水平   
窗体之间的跳转  ctrl + w + w

    :vsplit  竖直分窗体

    :n,md    从第n行删到第m行

    :n,mw  xxx.c   可以将该文本从第n行到m行保存到xxx.c中

    :nohl  取消高亮 (查找的高亮)





其它操作:



    查找

    /xxx     查找xxx向下查找   n
查找下一个  N 查找上一个

    ?xxx     向上查找          n 查找上一个  N
查找下一个

    shift +  #     快速查找 当前光标所在的单词



   

替换:

    :%s/aaaa/bbbb      全局将所有行的第一个aaaa替换成bbbb

    :%s/aaaa/bbbb/g    全局将所有的行的所有的aaaa替换成bbbb

    :%s/aaaa/bbbb/gc   以提问形式替换

    :n,ms/aaaa/bbbb/g  从第n行到m行的所有的aaaa替换成bbbb



   

    tab的宽度

    vim   /etc/vimrc

    set   ts=4



    同时打开两个文件

    vim    xxx.c  -O  xx.c      竖直

    vim    xxx.c  -o  xx.c      水平

Vim编译器的常用使用方法与技巧的更多相关文章

  1. Thinkphp常用的方法和技巧(转)

    2012年09月26日 Thinkphp 里一些常用方法和技巧的整理,包括常用的快捷键以及在程序开发时用到的一些实用方法,关于快捷键用得不是很熟练,总之,掌握这些方法和技巧,对于我们开发 thinkp ...

  2. SecureCRT是最常用的终端仿真程序,简单的说就是Windows下登录UNIX或Liunx服务器主机的软件,本文主要介绍SecureCRT的使用方法和技巧

    SecureCRT是最常用的终端仿真程序,简单的说就是Windows下登录UNIX或Liunx服务器主机的软件,本文主要介绍SecureCRT的使用方法和技巧 VanDyke CRT 和 VanDyk ...

  3. IDEA编译器的常用快捷键

    今天想简单分享一下IDEA编译器的常用快捷键 1. -----------自动代码-------- 常用的有fori/sout/psvm+Tab即可生成循环.System.out.main方法等boi ...

  4. Object Pascal 方法与技巧

    4 方法与技巧 4.1 设置代码模板 代码模板是Delphi 的代码感知特性的一种,通过它可以快速.高效和正确地输入代码.代码模板将一些常用的语句块保存在模板中,然后程序员只要在代码编辑器中按下“Ct ...

  5. Python - 集成开发环境Pycharm的使用方法和技巧

    PyCharm HomePage:PyCharm 我的Pycharm,我做主 Getting Started with PyCharm Pycharm使用技巧 Documentation & ...

  6. 【Tips】【UE】总结自己常用的UltraEdit使用技巧

    如果您问我每天都要打开的软件是什么,那毫无疑问是UltraEdit!作为一位DBA,每天都要写各种脚本,尤其是在对具有超多行行的大文件进行精心编辑时,没有一个好的文本编辑器是不成的.掐指一算,哇塞,自 ...

  7. 常用的UltraEdit使用技巧

    Tip 1: Alt+C 列模式可以说最初选择使用这个文本编辑软件,原因很简单,就是因为"她"具有列编辑模式.如果您还不知道什么是列编辑模式的话,我想您应该好好研究一下啦.这是一个 ...

  8. Vim编译器的相关知识

    Vim编译器相关知识 1.关于Vim编译器 在热门Linux操作系统中都会默认安装一款超好用的文本编辑器——名字叫“vim”,vim是vi编辑器的升级版. vim 具有程序编辑的能力,可以主动的以字体 ...

  9. 【UE】常用的UltraEdit使用技巧

    Tip 1: Alt+C 列模式可以说最初选择使用这个文本编辑软件,原因很简单,就是因为“她”具有列编辑模式.如果您还不知道什么是列编辑模式的话,我想您应该好好研究一下啦.这是一个超级“赞”的功能.在 ...

随机推荐

  1. SRAM/DRAM,PROM/EPROM/EEPROM,NOR/NAND FLASH区别

                          SRAM/DRAM,PROM/EPROM/EEPROM,NOR/NAND FLASH区别 RAM / ROM 存储器 ROM和RAM指的都是半导体存储器,R ...

  2. YYModel V1.0.4源码解析

    YYKit出现了很长时间了,一直想要详细解析一下它的源码,都是各种缘由推迟了. 最近稍微闲了一点,决定先从最简单的YYModel开始吧. 首先,我也先去搜索了一下YYModel相关的文章,解析主要AP ...

  3. Web服务,XFire的一个例子

    Web服务优点 互操作性:实现不同系统间的相互调用(语言无关.平台无关) Web服务是什么 Web 服务是一类应用程序,是能够用编程的方法通过Web调用来实现某个功能的应用程序 Web服务的体系结构 ...

  4. JavaEE介绍

    相关术语 为什么需要JavaEE 我们编写的JSP代码中,由于大量的显示代码和业务逻辑混淆在一起,彼此嵌套,不利于程序的维护和扩展.当业务需求发生变化的时候,对于程序员和美工都是一个很重的负担.为了程 ...

  5. Spring Resource接口获取资源

    1.1.1. Resource简介 在Spring内部实现机制,针对于资源文件(配置的xml文件)有一个统一的接口Resource. 1.1.1.1. 接口定义的方法 1.exists():判断资源文 ...

  6. C语言实现简单黑客帝国代码流

    #include <stdio.h> #include <stdlib.h> #include <time.h> #include <windows.h> ...

  7. C语言与java语言中数据类型的差别总结

    在学习java的时候,看到char ch =  '男' ; 我就觉得很奇怪,char类型不是占用一个字节吗?为什么定义成一个汉字被说成是一个字符了? 原来,在C语言中,char在32位操作系统下占用1 ...

  8. Sharepoint Solution Gallery Active Solution时激活按钮灰色不可用的解决方法

    在做CRM与sharepoint集成的时候,需要在sharepoint中上传crmlistcomponent组件,上传后需要激活,但会碰到激活按钮是灰色的无法点击的问题,如下图中这样,包括点击组件后面 ...

  9. C语言--测试电脑存储模式(大端存储OR小端存储)

    相信大家都知道大端存储和小端存储的概念,这在平时,我们一般不用考虑,但是,在某些场合,这些概念就显得很重要,比如,在 Socket 通信时,我们的电脑是小端存储模式,可是传送数据或者消息给对方电脑时, ...

  10. Java-IO之FileDescriptor

    FileDescriptor是文件描述符,可以被用来表示开放文件,开放套接字等,FileDescriptor可以被看成某个文件,但无法对该文件进行操作,需要新创建FileDescriptor对应的Fi ...