VIM使用学习笔记 : 按键说明

时间:2022-05-10 18:18:39

VIM有三种模式:
一般模式
    上下左右移动光标,删除字符或删除整行,复制粘贴
编辑模式
    i I i O a A r R 进入编辑模式
命令模式
    在一般模式种输入 : / ?,可以将光标移动到最下面那一行。在这个模式种,可以提供你查找数据的操作,而读取、保存、大量替换字符、离开vi、显示行号等的操作都是在这个模式中。

按键说明:
=========================================
  一般模式:光标移动、复制粘贴、查找替换
=========================================
移动光标的方法:
-----------------------------------------
    hjkl 和方向键:上下左右移动光标,前面可以加数字:20j,代表向下移动20行。
    ctrl + f : pagedown
    ctrl + b : pageup
    ctrl + d : 屏幕向下移动半页
    ctrl + u : 屏幕向上移动半页
    n<space> : 20<space> 光标后移20个字符距离
    0或home键 : 移到行首
    $或end键 : 移到行末
    H : 光标移动到这个屏幕的最上方那一行的第一个字符
    M : 光标移动到这个屏幕的*那一行的第一个字符
    L : 光标移动到这个屏幕的最下方那一行的第一个字符
    G : 移动到这个文件的最后一行
    nG : 移动到这个文件的第n行: 20G,移动到20行,可配合:set nu
    gg : 移动到这个文件的第一行,相当于1G
-----------------------------------------
查找与替换的方法:
-----------------------------------------
    /word : 向下查找一个名称为word的字符串
    ?word : 向上查找一个名称为word的字符串
    n : 重复前一个查找的操作,向下
    N : 重复前一个查找的操作,向上
    :n1,n2s/word1/word2/g : n1和n2为数字。在n1与n2行之间寻找word1这个字符串,并将该字符串替换成word2。比如:在100与200行之间查找vbird并替换为VBIRD则用“100,200s/vbird/VBIRD/g”
    :1,$s/word1/word2/g : 从第一行到最后一行查找word1字符串,并将该字符串替换为word2
    :1,$s/word1/word2/gc : 从第一行到最后一行查找word1字符串,并将该字符串替换为word2.且在替换前显示提示字符给用户确认是否需要替换
-----------------------------------------
删除、复制与粘贴
-----------------------------------------
    x,X : 在一行字中,x = Delete, X = Backspace
    nX,nX : 删除n个字符,比如:10x,10X,含义同上
    dd : 删除光标所在那一行
    ndd : 删除光标那行开始的向下n行
    d1G : 删除光标所在行到第一行的所有数据
    dG : 删除光标所在行到最后一行的所有数据
    d$ : 删除从光标所在处到该行的最后一个字符
    d0 : 删除从光标所在到该行的第一个字符
    yy : 复制光标所在行
    nyy : 复制光标所在的向下n行,例如20yy则是复制20行。
    y1G : 复制光标所在行到第一行的所有数据
    yG : 复制光标所在行到最后一行的所有数据
    y0 : 复制光标所在字符到该行行首的所有数据
    y$ : 复制光标所在字符到该行行尾的所有数据
    p,P : p为将已复制的数据在光标下一行粘贴,P则为粘贴在光标上一行。
    J : 将光标所在行与下一行的数据接合成同一行
    c : 重复删除多个数据,例如向下删除10行,10cj
    u : 撤消
    ctrl+r : 恢复
    . : 重复前一个操作
=========================================
第二部分:一般模式切换到命令行模式的可用的按钮说明
-----------------------------------------
    i,I : 进入插入模式,i为从目前光标所在处插入,I为从光标所在行的第一个非空格字符处开始插入
    a,A : 进入插入模式,a为从目前光标所在的那一个字符处插入,A为从光标所在行的最后一个字符处开始插入
    o,O : o为在目前光标所在的下一行处插入新的一行;O为在目前光标所在处的上一行插入新的一行
    r,R : r只会替换光标所在的那一个字符一次;R会一直替换光标所在的文字,直到按下Esc为止。
=========================================
第三部分:一般模式切换到命令行模式的可用的按钮说明
-----------------------------------------
    w : 写入
    w! : 若文件属性为只读时,强制写入该文件。能否写入成功,还是与该文件的文件权限有关。
    q : 退出
    q! : 放弃修改并退出
    wq : 保存后离开
    wq! : 强制保存后离开
    ZZ : 若文件没动,则不保存离开,若文件已经被更动过,则保存后离开
    w[filename] : 将编辑的数据保存为另一个文件,比如: w newfile.txt
    r[filename] : 在编辑的数据中,读入另一个文件的数据,即将"filename"这个文件内容加到光标所在行后面
    n1,n2 w [fielname] : 将n1到n2的内容保存成filename这个文件
    ! commond : 暂时离开vi到命令行模式下执行commond的显示结果。例如:! ls /home 即可在vi中查看/home下面以ls输出的文件信息
    set nu : 显示行号
    set nonu : 取消行号

=========================================
以管理员身份保存文件
-----------------------------------------
:w !sudo tee %

VIM使用学习笔记 : 按键说明的更多相关文章

  1. &lbrack;SAM4N学习笔记&rsqb;按键程序&lpar;中断方式&rpar;

    一.准备工作:      将上一节搭建的工程复制一份,命名为"6.key interrupt".这一节主要讲如何使用SAM4N的GPIO中断功能,实现按键的中断输入. 二.程序编写 ...

  2. &lbrack;SAM4N学习笔记&rsqb;按键程序&lpar;查询方式&rpar;

    一.准备工作:      将上一节搭建的工程复制一份,命名为"5.key scanf".这一节主要讲如何使用SAM4N的GPIO输入功能,实现按键的输入. 二.程序编写:      ...

  3. Vim【学习笔记】

    [2017-02-04] 先放几个比较好的资料,看这些资料就好了: 1.Vim入门基础 http://www.jianshu.com/p/bcbe916f97e1 2.vim配置 http://blo ...

  4. Vim 编辑器学习笔记

    参考资料: 世界上最牛的编辑器: Vim 1

  5. Linux学习笔记之VI(VIM)编辑器

    百度关于vi的资料 http://baike.baidu.com/view/908054.htm 关于vi 和vim的介绍可以在上面的网址看到. 1   进入和退出vi 进入:在终端命令行输入 vi ...

  6. input子系统学习笔记六 按键驱动实例分析下【转】

    转自:http://blog.chinaunix.net/uid-20776117-id-3212095.html 本文接着input子系统学习笔记五 按键驱动实例分析上接续分析这个按键驱动实例! i ...

  7. linux学习笔记:vim程序编辑器—vim的使用

    注:以下是学习<鸟哥的linux私房菜>(第三版)的学习笔记,纯属个人学习记录. 2018-11-19 一.学习vim的原因 很多软件的编辑接口都会主动调用vi 二.vim的使用 (1)v ...

  8. Linux 学习笔记

    Linux学习笔记 请切换web视图查看,表格比较大,方法:视图>>web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd53 ...

  9. deepin linux 学习笔记(二)——文本编辑器

    目录 deepin linux 学习笔记(二)--文本编辑器 前言 nano 小巧的命令行编辑器 通用 编辑 定位 排版 配置 vim 思路独特的超级编辑器 命令模式 插入模式 底线模式(末行模式) ...

随机推荐

  1. TCP 连接的建立和释放

    TCP(Transmission Control Protocol) 传输控制协议 1.三次握手协议(建立连接) TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接: ...

  2. iOS开发----优秀文章推荐

    UI界面 iOS和Android 界面设计尺寸规范  http://www.alibuybuy.com/posts/85486.html iPhone app界面设计尺寸规范  http://www. ...

  3. eventProxy

    1.功能 解决javascript回调地狱 fs.readFile('./file1.txt', 'utf8', function(err, content1){ fs.readFile('./fil ...

  4. ubunut 14&period;04 将Caps Lock设置为Control

    入手了emacs,一直折腾想把caps Lock设置为control键. 网上看到一个用gnome里找到系统-首选项之类可以直接设置的.在14.04版的ub中是找不到的(新版设置太坑,只有那么几个选项 ...

  5. VNC与Windows之间的复制粘贴

    假设目标主机是Linux,终端主机是Windows(就是在Windows上使用VNC登陆Linux): 在Linux中执行: vncconfig -nowin& 在Linux选中文字后,无需其 ...

  6. 动态链接--so的搜索过程

    可执行文件所依赖的so路径保存在.dynamic 里面,由DT_NEED类型表示.如下: 如果DT_NEED里面保存的是绝对路径,那ld就在绝对路径下查找so. 如果DT_NEED里面保存的是相对路径 ...

  7. &lbrack;Kubernetes&rsqb;编排其实很简单

    什么是编排 Kubernetes中,我们总是在说一个概念:编排. 在[Kubernetes]谈谈Kubernetes的本质这篇文章中,关于"编排"的概念介绍了一下:过去很多集群管理 ...

  8. Windump教程-参数介绍

    1 应用 Windump是tcpdump的Windows版本,主要的参数如下: -D 列出所有的接口 -i interface 指定用于抓包的接口 -c packetcount 指定抓包的个数 -w ...

  9. git异常

    1.  SSL certificate problem: self signed certificate 因git默认是ssl方式验证,在采用http请求时,是使用的账号密码方式,因此需要git放行. ...

  10. 去掉Firefox的标题栏

    Linux Mint里,火狐的标题栏很不美观,不过火狐可是出名的的“可定制”,Hide Caption扩展拖拖地满足你的要求,简直不能再好! 献上链接: https://addons.mozilla. ...