• VIM小技巧


    1.复制多行

    vi编辑器中的整行(多行)复制与粘贴就非常必要了。

        1、复制

        1)单行复制

        在命令模式下,将光标移动到将要复制的行处,按“yy”进行复制;

        2)多行复制

        在命令模式下,将光标移动到将要复制的首行处,按“nyy”复制n行;其中n为1、2、3……

        2、粘贴

        在命令模式下,将光标移动到将要粘贴的行处,按“p”进行粘贴

    vi复制多行文本的方法
    方法1:
    光标放到第6行,
    输入:2yy
    光标放到第9行,
    输入:p
    此方法适合复制少量行文本的情况,复制第6行(包括)下面的2行数据,放到第9行下面。
    方法2:
    命令行模式下输入
    6,9 co 12
    复制第6行到第9行之间的内容到第12行后面。
    方法3:
    有时候不想费劲看多少行或复制大量行时,可以使用标签来替代
    光标移到起始行,输入ma
    光标移到结束行,输入mb
    光标移到粘贴行,输入mc
    然后 :'a,'b co 'c   把 co 改成 m 就成剪切了
    要删除多行的话,可以用 :5, 9 de

    2.vim 括号匹配 以及各种跳转技巧.

    括号匹配:
    % 可以让光标从它当前所在的括号跳转到与它相匹配的括号上去, 对花括号和
    圆括号, 方括号都有效, 常用于手工检查括号是否匹对.

    标示位置
    --------

    你可以在光标处做些标记再随时返回被标记的位置.

    m char (MARK) 把这个地方标示成 char
    ' char (quote character) 跳到被标为 char的那一行
    '' (按两次') 回到刚才的位置

    char 可以是小写的 a-z中的任一个 . 一个标记在除了下面的这两种情况
    外会一直存在

    1) 重覆使用相同的标示 char .
    或 2) 删掉了被标示的那一行.


    文字段落
    --------------

    有时候一段一段的移动游标会比较方便.我们可以用 {,},(,) 来达到这些功能

    { (左大括号) 跳到上一段的开头
    } (右大括号) 跳到下一段的的开头.

    ( (左小括号) 移到这个句子的开头
    ) (右小括号) 移到下一个句子的开头

    [[ 跳往上一个函式
    ]] 跳往下一个函式

    3.vim标记(Mark)

    在编辑的时候,你忽然想起来需要修改同一个文档的另一个地方,但又想记住当前的位置,以便稍后再回来编辑。应该怎么做呢?vim中我们可以对文本进行标记,这个概念类似于visual studio中的书签,目的是方便vim编辑器在文档的不同位置间跳转。

    正常情况下,这意味着要移动到那个位置,编辑,然后再移回来。这样很费事,也容易忘记刚才所在的位置。

    Vim有更聪明的办法。移动光标到下述文本的第5行(John Lennon的名言)。用ma创建一个名为‘a’的标记。移动光标到任一地方,比如,4j。

    按下'a(即,单引号加上标记的名字),瞧,Vim跳到了刚才做标记的那一行的行首。如果要跳到做标记的位置,按下`a(即`,上排数字键1左边那个键)。

    可以使用任一字母(a-zA-Z)去命名一个标记,意味着一个文件里最多可以有52个命名标记。

    添加标记

    将光标移到某一行,使用 ma 命令添加标记。其中,m 是标记命令,a 是所做标记的名称。

    可以使用小写字母 a-z 或大写字母 A-Z 中的任意一个做为标记名称。小写字母的标记,仅用于当前缓冲区;而大写字母的标记,则可以跨越不同的缓冲区。例如,你正在编辑 File1,但仍然可以使 用'A 命令,移动到 File2 中创建的标记A。

    跳转标记

    创建标记后,可以使用 'a 命令,跳转到指定标记行的首个非空字符。这里 ' 是单引号。也可以使用 `a 命令,移到所做标记时的光标位置。这里`是反引号(也就是数字键1左边的那一个)。

    列出标记

    利用:marks命令,可以列出所有标记。这其中也包括一些系统内置的特殊标记(Special marks):

    . ——最近编辑的位置
    0-9 ——最近使用的文件
    ∧ ——最近插入的位置
    ' ——上一次跳转前的位置
    " ——上一次退出文件时的位置
    [ ——上一次修改的开始处
    ] ——上一次修改的结尾处

    删除标记

    如果删除了做过标记的文本行,那么所做的标记也就不存了。我们不仅可以利用标记来快速移动,而且还可以使用标记来删除文本,例如在某一行用ma做了标记,然后就可以使用d'a来删掉这一行。当然,我们也可以使用y'a命令就可以来复制这一行了。

    使用:delmarks a b c命令,可以删除某个或多个标记;而:delmarks! 命令,则会删除所有标记。

    利用:help mark-motions命令,可以查看关于标记的更多帮助信息。

    命令小结
    m ——创建标记
    ' ——移动到标记的文本行首
    ` ——移动到标记的光标位置
    :marks ——列示所有标记
    :delmarks ——删除指定标记
    :delmarks! ——删除所有标记

    4.vim分屏

    使用大写的O参数来垂直分屏。
    vim -On file1 file2 ...
    使用小写的o参数来水平分屏。
    vim -on file1 file2 ...
    注释: n是数字,表示分成几个屏。
    关闭分屏 
    关闭当前窗口。
    Ctrl+W c
    关闭当前窗口,如果只剩最后一个了,则退出Vim。
    Ctrl+W q
    分屏
    上下分割当前打开的文件。
    Ctrl+W s
    上下分割,并打开一个新的文件。
    :sp filename
    左右分割当前打开的文件。 
    Ctrl+W v
    左右分割,并打开一个新的文件。
    :vsp filename
    移动光标
    Vi中的光标键是h, j, k, l,要在各个屏间切换,只需要先按一下Ctrl+W
    把光标移到右边的屏。
    Ctrl+W l
    把光标移到左边的屏中。
    Ctrl+W h
    把光标移到上边的屏中。
    Ctrl+W k
    把光标移到下边的屏中。
    Ctrl+W j
    把光标移到下一个的屏中。.
    Ctrl+W w
    移动分屏
    这个功能还是使用了Vim的光标键,只不过都是大写。当然了,如果你的分屏很乱很复杂的话,这个功能可能会出现一些非常奇怪的症状。
    向右移动。
    Ctrl+W L
    向左移动 
    Ctrl+W H
    向上移动 
    Ctrl+W K
    向下移动 
    Ctrl+W J
    屏幕尺寸
    下面是改变尺寸的一些操作,主要是高度,对于宽度你可以使用Ctrl+W <或是>,但这可能需要最新的版本才支持。
    让所有的屏都有一样的高度。
    Ctrl+W =
    增加高度。
    Ctrl+W +
    减少高度。
    Ctrl+W -
     
    5. 显示|显示行号:
     

    set nu 或者 set number //显示行号;

    set nonu 或者 set nonumber //关闭自动显示行号;

    set ic //查找时忽略大小写;

    set noic //查找时不忽略大小写。

    6.怎样在vim的命令行中拷贝,粘贴?

    在vim的普通模式下,输入':'进入命令行模式,
    我们可以在屏幕下方输入我们想让vim执行的命令。
     
    有时候,我们需要在命令行中执行拷贝粘贴,例如
    我们想要查找替换正文中的特殊字符,
    但我们又不知道怎么在命令行中输入这个特殊字符。
    查找还好说,不一定非要在命令行中输入这个特殊字符,
    只要把光标放在这个特殊字符上,按'*'向下查找,按'#'向上查找。
    但是如果我们要替换这个特殊字符,就必须在命令行中输入它了,
    但是又不知道怎么输入这个特殊字符,怎么办?
    答案是拷贝粘贴,先在正文中复制这个字符,然后粘贴在命令行中。
     
    可是怎么在命令行中实现粘贴呢?别急,介绍一个好东西:命令行窗口。
    在正常模式下,输入'q:',就打开了命令行窗口。
    命令行窗口中都是我们输入过的命令,
    在这个窗口中我们可以像编辑正文一样编辑新的命令,或修改旧的命令。
    因为像编辑普通缓冲区一样,自然可以拷贝粘贴了。
    编辑完之后,在想要执行的命令上按回车,就ok了。
    命令执行后,命令行窗口也自动关闭了。
  • 相关阅读:
    LeetCode 25 Reverse Nodes in k-Group
    圆桌派:家世背景对人的影响有多大
    BibTex 学习笔记
    R parallel包实现多线程1
    IIS学习笔记
    高效完成R代码
    圆桌派 :我们,朋友一生一起走
    高文欣个人简介
    R语言函数话学习笔记5
    git学习笔记1
  • 原文地址:https://www.cnblogs.com/chenhuan001/p/5972305.html
Copyright © 2020-2023  润新知