文档章节

VIM基本用法

小-roc
 小-roc
发布于 2015/11/21 22:09
字数 1031
阅读 17
收藏 0
点赞 0
评论 0
vim

vim编辑器

vi:Visual Interface
vim: VI improved

全屏编辑器,模式化编辑器

#vim /path/to/somefile

vim模式:
    编辑模式(命令模式) 键入的命令是对整个文档操作
    输入模式             键入的字符写入到文档中
    末行模式    

模式转换:
    编辑模式->输入模式
        i:在当前光标所在字符的前面,转为输入模式
        a:在当前光标所在字符的后面,转为输入模式    
        o:在当前光标所在行的下方,新建一行,并转为输入模式
        
        I:在当前光标所在行的行首,转为输入模式
        A:在当前光标所在行的行尾,转为输入模式
        O:在当前光标所在行的上方,新建一行,并转为输入模式    

    输入模式->编辑模式
        ESC键

    编辑模式->末行模式(在编辑模式下进入末行模式要输入":")
        ":"

    末行模式->编辑模式
        ESC键

一、打开文件
    vim +#:打开文件让光标处于#行
        vim +12 inittab
    vim +filename:打开文件光标处于文件最后一行
        vim + inittab
    vim +/PATTERN:打开文件定位至第一次被PATTERN匹配到的行的行首
        vim +/oot inittab

    打开文件默认处于编辑模式

二、关闭文件
    1、在末行模式下关闭文件
        :q  不保存退出
        :wq(=:x) 保存并退出
        :q! 强行退出
        :w  保存
        :w! 强行退出

    2、在编辑模式下退出
        ZZ(两个大写的Z):保存退出

三、移动光标(编辑模式下)

    1、逐字符移动光标
        h:向左移动
        l:向右移动
        j:向下移动
        k:向上移动
        #h:移动指定数目的字符

    2、逐单词移动
        w:移动到下一个单词的词首
        e:移动到当前单词或下一个单词的词尾
        b:移动到当前或前一个单词的词首
        #w:移动指定数目的字符

    3、行内跳转
        0:跳到行首(绝对行首)
        ^:跳到行首,行首的第一个非空白字符
        $:跳到行尾(绝对行尾)

    4、行间跳转
        #G:跳转至第#行上
        G:最后一行

        末行模式下,直接给出行号即可跳转

四、翻屏操作
    
    ctrl+f:向下翻一屏
    ctrl+b:向上翻一屏
    ctrl+d:向下翻半屏
    ctrl+u:向上翻半屏

五、删除单个字符
    x:删除光标所在处的单个字符
    #x:删除光标所在处及向后的共#个字符

六、删除命令:d
    
    d命令跟跳转命令配合使用
    #d跳转符:删除跳转符的#个字符或单词
    dd:删除当前光标所在行
    #dd:删除当前光标所在行在内的#行

    末行模式下:
        startADD,EndADDd
        .:表示当前行
        $:表示最后一行
        +#:向下的#行
        $-1:倒数第二行

七、粘贴命令:p
    p:如果删除或复制的为整行内容,则粘贴至光标所在行的下方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的后面
    P:如果删除或复制的为整行内容,则粘贴至光标所在行的上方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的前面

八、复制命令:y
    用法同d

九、修改:先删除内容再转换为输入模式
    c:同d 命令

十、替换命令:r
    R:进入替换模式,ESC退出替换模式

十一、撤销编辑操作 undo
    u:撤销前一次编辑操作
        连续u命令可撤销此前的n次操作,最多50次
    #u:撤销最近的#次编辑操作

    撤销最近一次的撤销:ctrl+r

十二、重复前一次的编辑操作
    .:重复前一次的编辑操作

十三、可视化模式
    v:按字符选取
    V:按矩形块选取

十四、查找替换
    /PATTERN
    ?PATTERN
        n:下一个
        N:上一个

十五、查找并替换
    在末行模式下使用s命令 :跟sed命令一样
    ADDR1,ADDR2s@PATTERN@string @gi

© 著作权归作者所有

共有 人打赏支持
小-roc
粉丝 1
博文 5
码字总数 2777
作品 0
昌平
vimdb

vimdb 是一个用来模拟单个数据库的Vim 插件。 增加你精确查找vim的元素的速度以及对vim的一些了解:keys(keybindings)、可选项、命令。vimdb是vim默认的items,一个在你的vimrc,一个在插件里。...

匿名 ⋅ 2012/03/13 ⋅ 0

vim 使用mark插件高亮显示多个单词

Mark 插件用来同时对文本中的多个字串以不同的颜色高亮显示。vim默认的搜索功能也能对字串进行高亮显示,但是只能针对一个字串。该插件有两个版本,一个是Yuheng Xie写的(之后没有更新),另外...

樂天 ⋅ 2014/01/14 ⋅ 0

vim vi IMPROVED

tutorial: 基本操作 更快的编辑 查找 文本块和多类型文件 窗口 基本可视化模式、 程序命令 基本缩略词,键盘地图和初始化文件 基本的命令模式的命令 基本的界面用法 处理文本文件 自动完成 ...

jackdongting ⋅ 2017/07/31 ⋅ 0

linuxC开发学习路线

一、工具的使用 1、学会使用vim/emacs,vim/emacs是linux下最常用的源码编辑具,不光要学会用它们编辑源码,还要学会用它们进行查找、定位、替换等。新手的话推荐使用vim,这也是我目前使用的...

李文良 ⋅ 2015/08/01 ⋅ 0

HTML代码简写法:Emmet和Haml

HTML代码写起来很费事,因为它的标签多。 一种解决方法是采用模板, 在别人写好的骨架内,填入自己的内容。还有一种就是我今天想要介绍的方法----简写法。 常用的简写法,目前主要是Emmet和H...

阮一峰 ⋅ 2013/06/11 ⋅ 0

Android拓展系列(4)--vim编辑器的基本使用

从接触Linux到现在,也已经好几年了,对于linux的感觉一直是分分离离,充满了遗憾,最大的遗憾之一就是一直没能精通vim,不能完全适应vim下的代码开发。 最近工作中又广泛接触到vim的使用,我...

枫影Xda ⋅ 2011/10/23 ⋅ 0

sed学习笔记

vi vim nano属于屏幕编辑器 sed属于流编辑器 sed基本格式: sed 范围 命令 文件 用法1 d删除 删除最后一行 使用$d 用法2 用正则表达式来指明范围 必须用// 用法3 用,隔开表示多行 用法4 用/...

香胖 ⋅ 2015/12/03 ⋅ 0

循环结构 、 函数及中断控制 、 case语句

1:使用for循环结构 一.for循环的基本用法 脚本1,通过循环读取账户文件user.txt,批量创建账户: [root@2015idc ~]# vim for01.sh #!/bin/bash for i in $(cat root/user.txt) do useradd $i...

庞然大悟 ⋅ 02/12 ⋅ 0

Linux多线程并发服务器编程(线程池,FTP服务器)

分享网盘下载:https://pan.baidu.com/s/1gfNCcXt 密码: irfk 内容简介 本课程从最基础的进程、线程概念讲起逐步深入,通过理论与实践结合的方式,使学员快说掌握linux多线程网络编程技术,并...

人气王子333 ⋅ 2017/11/13 ⋅ 0

2018-1-2Linux基础知识(19)vi编辑器及bash算数

在上一章当中我们讲述了vim的基本操作,例如我们如何打开文件及关闭文件,以及如何进行编辑等,以及讲到了vim的诸多模式中之间的转换和常用的编辑命令,那么我们接下来介绍vim的末行模式及内...

刘祥宇 ⋅ 01/06 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

从方法论到零售客户实践 解码阿里巴巴数据中台——2018上海云栖大会

摘要: 一、数据中台之道 6月8日,上海云栖大会进入了第二天的议程,数据中台专场论坛座无虚席,数据中台总架构师邓中华女士向在场的观众介绍了数据中台的衍生发展之道。 基于OneID、OneData...

阿里云云栖社区 ⋅ 20分钟前 ⋅ 0

Ubuntu部署django问题汇总

使用Anaconda3的Python3.6的pip安装UWSGI报错 原因是gcc版本不兼容,安装4.7并修改gccsudo apt-get install gcc-4.7sudo mv /usr/bin/gcc /usr/bin/gcc.baksudo ln -s /usr/bin/gcc-4.......

wuyaSama ⋅ 24分钟前 ⋅ 0

从方法论到零售客户实践 解码阿里巴巴数据中台——2018上海云栖大会

摘要: 一、数据中台之道 6月8日,上海云栖大会进入了第二天的议程,数据中台专场论坛座无虚席,数据中台总架构师邓中华女士向在场的观众介绍了数据中台的衍生发展之道。 基于OneID、OneData...

猫耳m ⋅ 24分钟前 ⋅ 0

Docker减肥小记

如果经常使用 docker,你会发现 docker 占用的资源膨胀很快,其中最明显也最容易被察 如何快速的清理 docker 占用的系统资源,具体点说就是删除那些无用的镜像、容器、网络和数据卷… 1、查看...

寰宇01 ⋅ 34分钟前 ⋅ 0

微信小程序中如何使用WebSocket实现长连接(含完整源码)

本文由腾讯云技术团队原创,感谢作者的分享。 1、前言 微信小程序提供了一套在微信上运行小程序的解决方案,有比较完整的框架、组件以及 API,在这个平台上面的想象空间很大。腾讯云研究了一...

JackJiang- ⋅ 42分钟前 ⋅ 0

定制库到Maven本地资源库

1.如果只有定制库的JAR文件 下载链接如下:pdf.jar 2.使用命令转换成Maven本地资源 mvn install:install-file -Dfile=/Users/manager/Downloads/clj-pdf-2.2.33.jar -DgroupId=clj-pdf -Dar......

年少爱追梦 ⋅ 46分钟前 ⋅ 0

高仿springmvc之xuchen-mvc

package org.mvc.framework.servlet; import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.......

徐志 ⋅ 49分钟前 ⋅ 0

关于自定义URLStreamHandler的一次踩坑

关于自定义URLStreamHandler的一次踩坑 20180625 lambo init 说明 一般自定义实现url的协议解析.方案为实现URLStreamHandler.实现其 openConnection 就可以了, 如果我们执行 new URL("xx://...

林小宝 ⋅ 50分钟前 ⋅ 0

【SM2证书】利用BC的X509v3CertificateBuilder组装X509国密证书

演示证书文件 链接: https://pan.baidu.com/s/1ijHNnMQJj7jzW-jXEVd6Gg 密码: vfva 所需jar包 <!-- https://mvnrepository.com/artifact/org.bouncycastle/bcpkix-jdk15on --> <dependenc......

小帅帅丶 ⋅ 51分钟前 ⋅ 0

用Calendar 实现 计算 一段时间的毫秒值

Calendar c=Calendar.getInstance();c.add(Calendar.MONTH, -1);int lastMonthMaxDay=c.getActualMaximum(Calendar.DAY_OF_MONTH);c.set(c.get(Calendar.YEAR), c.get(Calendar.MONTH)......

岸芷汀兰 ⋅ 54分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部