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. REFRESH删除POSTGRESQL

    sudo apt-get install python-psycopg2sudo apt-get install postgresql sudo su - postgres createuser -- ...

  2. Redis 学习笔记1:CentOS 6.7下安装Redis

    在linux环境搭建Redis环境,首先从官网(http://redis.io/)下载Redis 版本,本人使用的3.21版本. 1. 将redis 解压到  /usr/local目录下. [root ...

  3. RxJava操作符(08-条件和布尔操作)

    转载请标明出处: http://blog.csdn.net/xmxkf/article/details/51671826 本文出自:[openXu的博客] 目录: All Amb Contains D ...

  4. OpenCV, MatBGR2ARGB, ARGB2MatBGR

    代码片段~ unsigned int* abMatBGR2ARGB(Mat imag) { int nCols; int nRows; unsigned int *pbuff = NULL; if(i ...

  5. cocos2dx 3.2之Lua打飞机项目

    1          创建lua打飞机项目 cocos new T32Lua -dE:\Installed\cocos2d-x-3.2\cocos2d-x-3.2\projects -l lua 2 ...

  6. Hadoop与分布式数据处理 Spark VS Hadoop有哪些异同点?

    Spark是一个开源的通用并行分布式计算框架,由加州大学伯克利分校的AMP实验室开发,支持内存计算.多迭代批量处理.即席查询.流处理和图计算等多种范式.Spark内存计算框架适合各种迭代算法和交互式数 ...

  7. cenos安装jdk

    安装方式:手动安装 软件:jdk-7u79-linux-x64.tar.gz 官网下载地址:进行下载. 下载完成之后上传到我们的服务器,我使用的是cenos6.5阿里云系统.securecrt工具上传 ...

  8. 巨星陨落 - Jim Gary

    偶然在微软Research中搜论文时搜到了神牛Jim Gary的paper,看着照片有点眼熟,貌似在买过的哪本书中见过.于是就饶有兴致地看着Jim的生平介绍,结果-  "Dr. Gray j ...

  9. sublime text的Ctrl+alt+up快捷键失效问题解决

    上周一入职了新公司,安装了sublime text3 之后发现多行光标定位快捷键"Ctrl+alt+up|down"不能使用了.最后发现是快捷键冲突.我的电脑安装的是win7专业版 ...

  10. UNIX网络编程——非阻塞connect

    当在一个非阻塞的TCP套接字上调用connect时,connect将立即返回一个EINPROGRESS错误,不过已经发起的TCP三次握手继续进行.我们接着使用select检测这个连接或成功或失败的已建 ...