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. 一个环形公路,上面有N个站点,A1, ..., AN,其中Ai和Ai+1之间的距离为Di,AN和A1之间的距离为D0。 高效的求第i和第j个站点之间的距离,空间复杂度不超过O(N)。

    //点数 #define N 10 //点间距 int D[N]; //A1到每个Ai的距离 int A1ToX[N]; void preprocess() { srand(time(0)); //随 ...

  2. 【安卓开发】Android系统中Parcelable和Serializable的区别

    http://greenrobot.me/devpost/android-parcelable-serializable/ 进行Android开发的时候,我们都知道不能将对象的引用传给Activiti ...

  3. Leetcode解题-链表(2.2.0)基础类

    1 基类的作用 在开始练习LeetCode链表部分的习题之前,首先创建好一个Solution基类,其作用就是: Ø  规定好每个子Solution都要实现纯虚函数test做测试: Ø  提供了List ...

  4. 在电脑上安装Linux操作系统

    1硬件需求 A 一台电脑 B 一个优盘 2软件需求 A制作优盘启动盘的软件PowerISO BLinux操作系统的镜像文件 3安装PowerISO,并使用PowerISO A安装PowerISO B插 ...

  5. Ubuntu下安装Texmaker的问题与解决方案

    在Ubuntu下安装好了texlive后,为了开发方便,希望再继续安装一个编辑器,用于方便的编辑latex文档. 而texmaker就是一个很好的工具. 问题1, 被安装了早期版本的latex 不管你 ...

  6. Activity和Window的View的移动的一些思考与体会,腾讯悬浮小火箭的实现策略

    Activity和Window的View的移动的一些思考与体会,腾讯悬浮小火箭的实现策略 事实上写这个也是因为自己实际在项目中用到了才会去研究已经写文章,对于View的移动,其实说实话,已经有很多文章 ...

  7. I/O操作之概述与导读

    I/O流可以表示很多不同种类的输入源和输出目的地,包括简单的字节流,基本数据(int.boolean.double等),本地化的字符,以及对象.一些流只是简单地传递数据,还有一些流可以操作和转换数据 ...

  8. Android开发学习之路--Activity之四种启动模式

    后天终于可以回家了,马上就要过年了,趁着年底打酱油的模式,就多学习学习,然后记录记录吧.关于Activity已经学习了七七八八了,还有就是Activity的四种启动模式了,它们分别为,standard ...

  9. [django]项目打包构建

    django项目的结构大体上都是类似,打包主要的功能就是把一些不需要部署的文件剔除,把需要部署的文件直接压缩打包. 这里还想集成一个配置文件模板生成配置文件的过程,或者写一个配置文件生成的工具,不用每 ...

  10. 可视化分析工具Cytoscape使用记录

    最近项目要使用到可视化分析工具Cytoscape,所以会花费很多的时间跟精力来整理Cytoscape软件使用和开发的相关资料,希望写下的文章能减少有兴趣的同行学习跟开发所走的弯路时间.同时也是因为百度 ...