zoukankan      html  css  js  c++  java
  • Vim进阶用法

    同上一篇一样,资料来自于《Unix初级教程(第四版)》。

    1.启动

    -R        只读方式打开,但打开后如果有权限,可以强制执行保存。

    -c (command) 加载后执行命令,比如"vim -c /most myfirst" 打开该文件后直接向后搜索most。

    更多的可以参考 -h


    2.同时编辑多个文件

    vim [file1] [file2] ...

    此时

    :ar 查看当前编辑的文件名

    :n  切换当前编辑的文件

    另外还有

    :e  切换到新文件

    :w  读取已存在的文件并将其内容放入正在编辑的文件中

    :w [起始行][终结行] [文件名]  将当前文件部分放于新文件中,若已存在则覆盖。


    3.文本重排

    命令模式下

    dd 删除当前行并存放于临时缓冲区中(类似于剪切)

    yy 复制当前行并存放于临时缓冲区中

    p   将指定缓冲区内容放到当前光标位置之下

    P   将指定缓冲区内容放到当前光标位置之上


    4.域操作

    操作符(d、y等)与域结合可以进行域操作。

    功能

    $

    标识域为从光标位置开始到当前行尾

    0

    标识域为从光标位置前到当前行首

    ew

    标识域为从光标位置开始到当前字尾(其他用法:如3dw,删除光标后3个字)

    b

    标识域为从光标位置前到当前字首

     

    5.缓冲区的使用

      5.1 数字编号缓冲区

      双引号+n(缓冲区号,1至9)+(p或P)

      例如"9p

      其中对数字缓冲区的使用,删除或复制时,每次将所有区后移,1到2,2到3,......,9原有被清空并被8覆盖。


      5.2 字母编号缓冲区

      双引号+缓冲区名(从小写字母a至z)+命令

      练习用例:

         "wdd   删除当前行,副本保存在缓冲区w

         "wp     将缓冲区w内容复制到光标位置

         "z7yy  复制7行到缓冲区z

         "zp  将缓冲区z的内容(7行)复制到光标位置

     

    6.光标定位键

    功能

    [Ctrl-d]

    将光标向下移动到文件尾,通常每次移动12

    [Ctrl-u]

    将光标向上移动到文件头,通常每次移动12

    [Ctrl-f]

    将光标向下移动到文件尾,通常每次移动24

    [Ctrl-b]

    将光标向上移动到文件头,通常每次移动24

     

    7.Vim定制选项

    7.1  :set

    :set all  显示所有选项

    :set  只显示修改过的选项

    :set X? 显示选项X的值

    设置方式

    布尔式选项: set X选定,set noX禁止

    数字式选项:  set X=12

    串选项:类似于数字式选项,但赋值的是串

    一些选项:

    选项

    缩写

    功能

    autoindent

    ai

    将新行与前一行的行首对齐

    ignorecase

    ic

    在搜索选项中忽略大小写

    number

    nu

    显示行号

    shiftwidth

    sw

    设置缩进的空格数,与autoindent选项一起使用

    wrapmargin

    wm

    设置右边界为指定的字符数

     

    7.2缩写

    :ab uno UNIX Operating System 将uno设置为UNIX Operating System的缩写,输入uno加一个空格就会自动替换。

    :unab uno 取消缩写

     

    7.3宏操作

    :map [宏名] [操作功能键序列]

    宏是临时的,只在当前编辑会话中起作用。

     

    本节所有设置(set、缩写、宏)都是临时的,如果需要长期使用,应在当前(工作)目录下创建.exec文件,在其中保存设置。内容形如

    set report=0

    ab uop UNIX Operating System

    map q 5dd

     

    8.其他命令

    8.1 运行shell命令

      :!+命令 例如:!date

    8.2 行连接 J

    8.3搜索与替换

      利用/或?+输入+n+.+n+.+……可以实现批量替换

     

    全部命令在Vim 7.3.35中已测试。

  • 相关阅读:
    git 忽略文件夹权限
    文字特效-shine.js-阴影随动
    微信小程序scroll-view中的坑(因为动态设置高度导致无法下拉)
    gitlab 403 forbidden 报错解决
    Vue子组件调用父组件的方法
    github的小笔记
    windows win10 重装系统 提示不是gpt分区不能安装
    使用html5播放m3u8直播源
    youtube-dl 使用简介
    ABAP RSA 加密
  • 原文地址:https://www.cnblogs.com/wuyuegb2312/p/2111027.html
Copyright © 2011-2022 走看看