zoukankan      html  css  js  c++  java
  • Vim 使用入门快捷键

     

     

    Vim 和 Emac 都是利器啊,前段时间决定熟悉一套跨平台的编辑器,以便在 Win,Mac,Ubuntu 下都有相同的编辑体验。

    于是尝试了一下 Vim,使用了一段时间,确实比 UE 之类的要高效。Win 平台下有 gVim, Mac 下也有 MacVim

    Vim 的学习曲线确实有点陡峭,刚开始不是那么容易习惯的。查看帮助文档是必不可少的,其在线中文文档链接如下:

    Vim 在线中文文档:http://vimcdoc.sourceforge.net/doc/help.html

    这个文档超级大而全,方便查阅,如果想入门试试 Vim 的话,不太适合,下面我整理了一些方便入门的常用快捷键。

    ===========================================================

    模式操作 

    ===========================================================

    Vim具有五种基本模式,默认是普通模式,在普通模式下是无法进行编辑的,需要进入插入模式。

    (Window 下用记事本打开一个 txt, 默认就是插入模式,所以就可以直接编辑,Vim 不是这样的!!)

    ===========================================================

    普通模式(normal mode)

    插入模式(insert mode)

    命令模式(command mode)

    可视模式(visual mode)

    替换模式(replace mode)

    其他模式下要回到普通模式:

    ===========================================================

    Esc

    Ctrl + c

    Ctrl + [

    进入插入模式

    ===========================================================

    i insert 在光标前插入

    I insert 在当前行的第一个非空白字符之前插入

    a append 在光标后插入

    A append 将输入点移动到在当前行的行尾来输入文本

    o 在当前行下方新启一行,并进入插入模式。

    O 在当前行上方新启一行,并进入插入模式。

    s substitute 用来删除当前光标下的字符,然后进入到插入模式

    cw change word 用的较少,和 s 相似,只不过删除的单位是单词。

    首先删除由光标(包括光标)开始的一个单词,然后进入插入模式,

    进入命令模式:

    ===========================================================

    :, /

    : 之后,使用方向键可以调出历史命令。甚至输入:s之后,

    会对历史命令进行过滤,只调出以s开头的历史命令。

    :help command 查看帮助文档

    :: 查看命令行模式的帮助

    进入可视模式:该模式下方便对文本进行选择

    ===========================================================

    v, V, Ctrl+v

    v visual,可视,以字符为单位移动

    V 可视,以行为单位移动

    Ctrl + v 可视,以块为单位移动

    可视块模式应用:添加多行的 // 注释

    首先将光标移动到要该代码块第一行的行首字母上,进入可视块模式,

    然后移动光标到该代码块的最后一行的行首字母上,这时会高亮显示一列。

    之后键入 I,注意不是i,此时信息区显示的是插入模式了,

    然后键入注释符"//",将第一行注释掉,而其他行没有变化。

    不用着急,最后键入Esc退回到普通模式。 

    这时其他被选中的行的前面都添加了注释符,从而都被注释掉了

    进入替换模式

    ===========================================================

    r, R

    r replace,该键只是用于替换光标所在的单个字符而已。

    R 持续替换直至退出 R 模式,在该模式下可以按照 backspace 恢复

    ===========================================================

    关于模式的更多说明请查看Vim帮助文档,使用命令:

        :help mode-switching

    ===========================================================

    文件操作 

    ===========================================================

    分割窗口

    ===========================================================

    :sp vim.txt split,水平分割窗口

    :vs vim.txt vertical split,垂直地分割窗口可视块模式来完成了。

    窗口切换

    ===========================================================

    Ctrl + w + [h, j, k, l]

    Ctrl 在Vim中"^"一般表示Ctrl按键

    w window

    h,j,k,l 就是上下左右四个方向

    关闭窗口

    ===========================================================

    Ctrl + w + [c] 关闭当前窗口

    Ctrl + w + [o] 关闭其他窗口

    保存文件

    ===========================================================

    :w write,保存当前文件

    :wa writeall,保存所有文件

    退出文件

    ===========================================================

    :q quit,关闭当前窗口或者当前标签页

    :wq write + quit,先保存再关闭

    ===========================================================

    导航以及跳转

    ===========================================================

    Vim中的移动可以分为两类:导航以及跳转。

    导航是小范围的移动;而跳转是大范围且并不确定执行后光标位置的移动。

    Vim帮助文档里面将这类操作叫做motion操作。可查看帮助:

    :help motion

    导航

    ===========================================================

    h, j, k, l, w, e, b, f, F, t, ,, ;

    h, j, k, l 上下左右四个方向移动

    w word,以单词为单位正向移动,光标停在第一个字母上

    e end,以单词为单位正向移动,光标停在最后一个字母上

    b back,以单词为单位反向移动,光标停在第一个字母上

    f + key forward,移动到该行的下一个出现字符(key)的位置,

    然后可以按下 ; 正向循环移动或者 , 反向循环移动

    F + key 用法与 f 相同,只不过是反向移动

    t till,效果与 f 类似,只不过 f 会将光标放置在目标字符上,

    而 t 是将光标放置在目标字符的前一个字符上。

    跳转

    ===========================================================

    ^, 0, $, %, [[, ]], gg, G, L, H, M, m, ', :[number]

    ^ 移动到本行第一个非空白字符处

    0 移动到行首(参考命令 I)

    $ 移动到行尾(参考命令 A)

    % 在本行中正向查找或调整的配对字符(([{}])),

    ]] 组合键,在文本中t跳转到下一个位于行首的'{'字符

    [[ 类似于 ]],只不过是反向

    gg 跳转到整个文本的第一行

    G 跳转到整个文本的最后一行

    H high,跳转到当前屏幕显示文本范围内的第一行

    L low,跳转到当前屏幕显示文本范围内的最后一行

    M middle,将光标移动到屏幕显示文本范围的中间

    m 组合键,与 Vim 的寄存器有关(请看文档 :help registers)

    m - mark,输入 m 之后再输入寄存器序号(a - z, A - Z),

    就将当前光标位置信息放到寄存器中保持,相当于设置了书签。

    ' 组合键,后跟寄存器序号,跳转到 m 设置的书签处

    :[number] 是命令模式下的用法,跳转到指定行,number 为行数

    翻页

    ===========================================================

    Ctrl + f, Ctrl + b, Ctrl + d, Ctrl + u

    Ctrl + f forward,相当于 PageDown

    Ctrl + b back,相当于 PageUp

    Ctrl + d down,正向翻半页

    Ctrl + u up,反向翻半页

    ===========================================================

    编辑操作

    ===========================================================

    删除

    ===========================================================

    x, d + [跳转/移动]

    x 剪切,内容保存在寄存器 x 中

    d + 跳转/移动 delete,组合键,删除并经内容保存到寄存器 x 中

    dw delete word,正向删除单词

    d0 反向删除到行首

    d$ 正向删除到行尾

    dd 删除整行

    d^ 删除之本行第一个非空白字符处

    移动

    ===========================================================

    x, y, yy, Y, p, P, "+y, "+p

    移动文本其实是一个组合的操作:

    首先选择要移动的文本;

    然后剪切或者复制该文本;

    最后粘帖该文本。

    x 剪切

    y yank,复制,内容保存在寄存器 x 中

    Y, yy 复制光标所在行

    p paste,将寄存器 x 中保存的文本取出并粘贴在光标位置之后

    P 同 p, 只是粘贴在光标位置之前

    " + y 复制文本到系统复制粘帖板(注意不是 Vim 的寄存器 x 了)

    " + p 是从系统复制粘帖板取出文本进行粘帖操作。

    撤销重做

    ===========================================================

    u, Ctrl + r

    u undo,撤销

    Ctrl + r redo,重做

    查找

    ===========================================================

    / + key

    / 后跟要查找的字符串,然后输入 n 循环查找。查找字符串支持正则匹配式。

    原文链接罗朝辉(http://blog.csdn.net/kesalin

     

     

  • 相关阅读:
    Scrapy+Scrapy-redis+Scrapyd+Gerapy 分布式爬虫框架整合
    centos7 安装软件指南
    Kafka--消费者
    Kafka--生产者
    Kafka--初识Kafka
    Kafka--Kafka简述
    NetWork--记一次Http和TLS抓包
    JVM--a == (a = b)基于栈的解释器执行过程
    Java容器--Queue
    Idea--使用Idea调试设置
  • 原文地址:https://www.cnblogs.com/onemorepoint/p/8128193.html
Copyright © 2011-2022 走看看