zoukankan      html  css  js  c++  java
  • Vim的使用

    一、关于Vi 插入问题:

              i 在光标之前插入

              I 在光标所在行 行首插入

              a 在光标之后插入

              A 在光标所在行的行末插入

              o 在光标所在的行的下面插入一行

              O 在光标所在的行的上面插入一行

              s 用输入的文本替换光标所在字符
              S 用输入的文本替换光标所在行


    二、VI / VIM 编辑文件时无权限保存的解决方法

    在Linux环境下,如果直接使用VI/VIM命令编辑没有修改权限的文件时,保存的时候就会提示用户无法进行保存操作,一般的解决方法只能是关闭文件重新以sudo权限打开该文件编辑后再保存(前提是用户具有sudo权限)。其实,在VI/VIM模式下通过一些简单的命令,就能在不关闭当前文件的情况下达到保存文件的目的(感谢晓哲老师提供的方法):

    1. 输入命令:%! sudo tee % > /dev/null
    2. 按提示输入sudo权限密码
    3. 输入“L"(Load File
    4. 输入:q命令退出

    关于“%! sudo tee % > /dev/null”这条命令的说明如下:

    %       #VI/VIM编辑的文件内容

    !      #管道

    sudo     #以root权限操作

    tee     #将标准输入(即通过管道过来的当前编辑的文件内容)输出到标准输出,同时写入到指定的文件中(即VI/VIM当前编辑的文件

    %       #VI/VIM编辑的文件

    > /dev/null    #将标准输出重定向到/dev/null(不输出显示)

    --(转自http://www.cnblogs.com/panfeng412/archive/2011/08/14/2138052.html)



    保存文件和退出Vi

    在命令模式下按两次键Z(即Shif+z+z),将保存文件并退出Vi。

    或在末行模式下输入如下命令。

    w:保存当前正在编辑的文件,但不退出Vi,w是write的首字母。

    w文件名:将当前文件的内容保存由"文件名"指定的新文件中,若该文件已存在则产
    生错误,该命令也不会退出Vi。

    w!文件名:将当前文件的内容保存由"文件名"指定的新文件中,若该文件已存在则覆
    盖原文件,该命令也不会退出Vi。

    q:不进行文件保存直接退出Vi,若文件有改动过而没有保存将产生错误,q是quit
    的首字母。

    q!:强行退出Vi,若文件内容有改动则恢复到文件的原始内容。

    wq:保存并退出Vi,这是最常用的退出Vi的方式


    三、 Vi打开和编辑多个文件

    可分两种:

    1、在同一窗口中打开多个文件:

    vi file1 file2 file3
    :n  切换到下一个文件 (n=next)
    :N  切换到上一个文件


    2、在不同窗口中打开多个文件:

    如果已经打开一个了一个文件,
    则在vi的命令输入状态下输入 :sp 另外一个文件的路径及文件名,
    如此就可以在一个窗口打开多个文件了。

    或者用 vi -o file1 file2 file3....用分割屏幕窗口方式同时打开多个文件。
    可以使用 ctrl + 两次按 w 或者ctrl + w 然后按上下键在上下窗口间切换。
    2.窗口分割实现编辑多文件
       *先使用vi打开一个文件,例如vi actinia_proenrule.sh 
       *分割窗口打开另外的文件
        命令行模式下输入  sp 另外一个文件 就可以水平分割继续打开第二个文件,如果想纵向分割,可以使用vsp 文件名
         注:sp=split,vsp=vsplit. 上面的写法是vi支持的简略写法,v实际就是vertical,从中我们可以看出改命令的含义,另外vi不仅仅支持两个文件,还支持更多个文件同时在一个 大的窗口中显示编辑,同时还支持同时打开的两个文件是同一个文件。
        *窗口切换
    可以使用 ctrl +两次按 w,这样就可以在各个文件中切换
       之前觉得vi的多文档编辑用着很不方便,现在接触了几个,用过了MiniBufExplorer,发现看着不是很舒服。还是使用ls比较好看一些。

      :ls  展示全部的打开文档

      :xn  切换到向下的第x个文档

      n ctrl+6 : 切换到第n个buffer

      ctrl+6  或 :e#   回到前一个编辑文件

      

             分屏

            :new xxx

       ctrl+w s   对当前文档内容分屏显示

       ctrl+w q   关闭所处分屏

       ctrl+w o   仅显示当前分屏内容

       ctrl+w j k  上下选择分屏

            个人觉得最值得用的命令就是ctrl+w  w 快速在分屏的两个屏幕中切换

     

        :n1,n2 co n3: 将n1行到n2行之间的内容拷贝到第n3行下
        :n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下
        :n1,n2 d: 将 n1行到n2行之间的内容删除

        :n1,n2 w!command: 将文件中n1行至n2行的内容作为command的输入并执行之,
        若不指定n1,n2,则表示将整个文件内容作为command的输入

       方式2的优点在可以直接使用nyy和pp命令在各个窗口的文件之间进行拷贝和粘贴,操作比较方便。


    四、日常运用:

    1、u   撤销上一步的操作;Ctrl+r 恢复上一步被撤销的操作

    2、如何去掉高亮搜索?
          方法一::nohlsearch
          方法二:/awertgvcxz (查找一个肯定不存在的字符串)
          设置了高亮搜索(:set hlsearch)以后,可以通过:set nohlsearch 永久地关闭高亮 显示,也可以通过:nohlsearch   暂时关闭高亮显示,下次搜索时将自动恢复高亮。


    3、vi多行注释与删除

           多行注释:ctrl+v 进入列编辑模式,向下或向上移动光标,把需要注释的行的开头标记起来,然后按大写的I,再插入   注释符,比如"#",再按Esc,就会全部注释了。
           删除多行注释:按ctrl+v 进入列编辑模式,上下左右移动光标,选中注释部分,然后按d, 就会删除注释符号




    本篇文章主要教你如何使用 Vim 分屏功能(转载)

     


    分屏启动Vim

    1. 使用小写的o参数来上下分屏(横向分屏)。
      vim -on file1 file2 ...
    2. 使用大写的O参数来左右分屏(纵向分屏)。
      vim -On file1 file2 ...

    注释: n是数字,表示分成几个屏。


    关闭分屏 

    1. 关闭当前窗口。
      Ctrl+W c
    2. 关闭当前窗口,如果只剩最后一个了,则退出Vim。
      Ctrl+W q
    3. 把光标移到下一个的屏中
      Ctrl+W w
      


    分屏

    1. 上下分割当前打开的文件。
      Ctrl+W s
    2. 上下分割,并打开一个新的文件。
      :sp filename
    3. 左右分割当前打开的文件。 
      Ctrl+W v
    4. 左右分割,并打开一个新的文件。
      :vsp filename


    移动光标

    Vi中的光标键是h, j, k, l,要在各个屏间切换,只需要先按一下Ctrl+W

    1. 把光标移到右边的屏。
      Ctrl+W l
    2. 把光标移到左边的屏中。
      Ctrl+W h
    3. 把光标移到上边的屏中。
      Ctrl+W k
    4. 把光标移到下边的屏中。
      Ctrl+W j
    5. 把光标移到下一个的屏中。.
      Ctrl+W w


    移动分屏

    这个功能还是使用了Vim的光标键,只不过都是大写。当然了,如果你的分屏很乱很复杂的话,这个功能可能会出现一些非常奇怪的症状。

    1. 向右移动。
      Ctrl+W L
    2. 向左移动 
      Ctrl+W H
    3. 向上移动 
      Ctrl+W K
    4. 向下移动 
      Ctrl+W J


    屏幕尺寸

    下面是改变尺寸的一些操作,主要是高度,对于宽度你可以使用Ctrl+W <或是>,但这可能需要最新的版本才支持。

    1. 让所有的屏都有一样的高度。
      Ctrl+W =
    2. 增加高度。
      Ctrl+W +
    3. 减少高度。
      Ctrl+W -

  • 相关阅读:
    原生JS中apply()方法的一个值得注意的用法
    关于“float”的一次探索--遇到了一个span元素可以设置宽高引发的思考
    git常用命令
    react 项目全家桶构件流程
    vue回顶部 组件 可以直接使用
    vscode左边侧边栏字体的大小
    小程序的福音,
    Android实战技巧:Dialog (转)
    给Android 应用开发者的十个建议(转)
    多线程与异步的区别(转)
  • 原文地址:https://www.cnblogs.com/zcwsmile/p/4027830.html
Copyright © 2011-2022 走看看