zoukankan      html  css  js  c++  java
  • vi常用命令

    原文 https://www.cnblogs.com/linkworld/p/8537117.html

    vim的安装

    1自动安装

    sudo apt-get install vim (ubuntu)
    yum install vim (redHat/Fedora/CentOS) 
    

    注意:如果安装不成功,可以试着更新系统

    sudo apt-get remove vim-common
    sudo apt-get update
    

    或者源再安装。 ubuntu安装vim失败,换源解决 参考 https://blog.csdn.net/u012706348/article/details/108748098?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-2&spm=1001.2101.3001.4242

    安装vim失败或者缺少依赖包,后来发现是源的问题,之前换的清华的源,现在改成阿里源

    /ect/apt/sources.list
    

    替换为:

    deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
    

    然后执行

    sudo apt-get update
    
    sudo apt-get upgrade
    

    重新安装

    sudo apt-get install vim
    

    但是,我在docker下安装失败
    2手动安装
    手动下载编译安装
    截止当前最新版本是7.4(vim-7.4.tar.bz2),可在windows环境下载好,拷贝至linux环境安装,或直接linux命令行下载。这里给出 linux直接下载并编译安装(以下均为shell命令):
    1). wget下载

    wget ftp://ftp.vim.org/ftp/pub/vim/unix/vim-7.4.tar.bz2
    

    (或用ftp命令登陆ftp://ftp.vim.org,get命令获取)
    2). 解压

    bunzip2 vim-7.4.tar.bz2
    

    3). 解压

    tar xvf vim-7.4.tar
    

    4). 进入vim74(解压后的)目录,执行

    ./configure --disable-selinux --enable-cscope
    

    (./configure -help 查看后面参数选项的含义)
    5). 编译

    make
    

    6). 安装

    make install
    
    使用
    1. vi 的三种工作模式
      命令模式
      打开文件首先进入命令模式, 是使用 vi 的入口;
      通过命令对文件进行常规的编辑操作, 例如: 定位,翻页,复制,粘贴,删除等;
      末行模式
      执行保存,退出等操作,是 vi 的出口;
      :wq:表示 write&quit;
      编辑模式
      正常的编辑文字

    2. vi 操作文件
      vi 文件名: 打开或新建文件;
      vi 文件名 +行数: 打开文件并且定位行, 如果不指定行号,会直接定位到文件末尾;
      2.1 重复次数
      在命令模式下,先输入一个数字,再跟上一个命令,可以让该命令重复执行指定次数;
      2.2 移动和选择
      方向移动
      h: 左移
      j: 下移
      k: 上移
      l: 右移
      {: 按段移动,上移;以空行来区分段落;
      }: 按段移动,下移;
      w: 向后移动一个单词(word);
      b: 向前移动一个单词
      0: 行首
      ^: 行首,第一个不是空白字符的位置;
      $: 行尾
      行数移动
      gg:文件顶部, 15gg表示跳转到第15行;
      G: 文件末尾, 15G表示跳转到第15行;
      :数字: 跳转到数字对应行数;
      屏幕移动
      ctrl + d: 向下翻半屏;
      ctrl + u: 向上翻半屏;
      ctrl + f: 向下翻一屏;(forward)
      ctrl + b: 向上翻一屏;(back)
      H: 屏幕顶部;(Head)
      M: 屏幕中间;(Middle)
      L: 屏幕底部;(Low)
      括号切换
      在程序世界中, () [] {}使用频率很高,而且都是成对出现的;
      %: 括号匹配及切换;
      标记
      在开发时,某一块代码可能需要稍后处理,例如编辑,查看;
      此时,先使用 m添加一个标记,这样可以在需要时,快速地跳转回来或者执行其他编辑操作;
      标记名称可以是 a~z 或者 A~Z 之间的任意一个字母;
      添加了标记的行如果被删除,标记同时被删除;
      如果在其他行添加了相同名称的标记,之前添加的标记也会被替换掉;
      mx: 添加标记x, x是 a~z或者 A~Z 之间的任意一个字母;(mark)
      'x: 直接定位到标记x所在的位置
      2.3 编辑操作(命令模式)
      选中文本(可视模式)
      学习复制命令前,应该先学会怎么样选中要复制的代码;
      v: 按字符移动选中文本;
      V: 按行移动选中文本,可以配合 d, y,>>,<<实现对文本块的删除,复制,左移,右移;
      ctrl + v: 垂直方向选中文本;
      撤销和恢复撤销
      u: 撤销上次命令;(undo)
      ctrl + r: 恢复撤销的命令;(redo)
      删除文本(类似于剪切操作)
      x: 删除光标后一个字符,相当于 Del;(cut)
      X: 删除光标前一个字符,相当于 Backspace;
      d(移动命令): 删除移动命令对应的内容;例如
      d0: 删除光标前本行所有内容,不包含光标所在字符;
      dw: 删除光标开始位置的字符,包含光标所在字符;
      dd: 删除光标所在行;
      8dd: 表示从当前光标所在的行开始剪切8行;
      D: 删除光标后本行所有内容,包含光标所在字符;
      复制和粘贴
      复制命令会将选中的文字保存在缓冲区;
      删除命令会将删除的文字删除的文字保存在缓冲区;
      y(移动命令): 复制; (copy)
      yy:复制一行, 可以 8yy复制8行;
      p: 粘贴(paste)
      缩排和重复执行

    : 向右增加缩进;(一次在选中代码前增加4个空格)
    <<: 向左减少缩进;
    . : 重复上次命令;
    2.4 替换
    r: 替换当前字符串(命令模式)
    R: 替换当前行光标后的字符(替换模式)
    R命令可以进入替换模式,替换完成后,ESC可以回到命令模式;
    替换命令的作用就是不用进入编辑模式,对文件进行轻量级的修改;
    2.5 查找
    /str: 查找str;
    查找到指定内容之后,使用 Next 查找下一个出现的位置:
    n: 查找下一个;
    N: 查找上一个;
    如果不想看到高亮显示,可以随便查找一个文件中不存在的内容即可;
    单词快速匹配
    *: 向后查找当前光标所在单词;

    : 向前查找当前光标所在单词;

    2.6 查找并替换
    在vi中查找和替换命令,需要在末行模式下执行;
    格式: :%s///g;
    全局替换:
    :%s/abc/123/g: 将所有的abc替换成123;
    可视区域替换
    先选中要替换文字的范围;
    :'<,'>s/旧文本/新文本/g
    确认替换
    如果把末尾 g改成 gc,在替换的时候,会有提示!
    :%s/旧文本/新文本/gc
    提示语:
    y: 替换(yes)
    n: 不替换(no)
    a: 替换所有(all)
    q: 退出替换(quit)
    l: 替换最后一个(last),并把光标移动到行首;
    ^E: 向下滚屏;
    ^Y: 向上滚屏;
    2.7 插入命令
    进入编辑模式的命令:
    i: 在当前字符前插入文本;(insert)
    I: 在行首插入文本;(insert)
    a: 在当前字符后添加文本;(append)
    A: 在行末添加文本;
    o: 在当前行后面插入一空行;
    O: 在当前行前面插入一空行;

    示例: 利用可视块模式给多行代码增加注释

    1. 在命令模式下,移动到要添加注释的第一行代码, 按 "^" 来到行首;
    2. 按 ctrl + v 进入可视块模式;
    3. 使用 j 向下连续选中要添加的代码行;
    4. 输入 I 进入编辑模式,并在行首插入, 注意,一定使用大写 I;
    5. 输入 # 也就是注释符号;
    6. 按下 ESC 返回到命令模式,返回之后,vi会在之前选中的每一行代码前插入 #;
      2.8 分屏命令
      属于 vi 的高级命令,可以同时编辑和查看多个文件;
      末行命令主要是针对文件进行的操作:
      保存,退出,保存&退出,搜索&替换,另存,新建,浏览文件;
      :e .: 会打开内置的文件浏览器,浏览当前目录下的文件;
      :n 文件名: 新建文件;(new)
      :w 文件名: 另存为,但是仍然编辑当前文件,并不会切换文件;(write)
      在实际开发中,可以使用 w 命令阶段性的备份代码;
      分屏命令
      使用分屏命令,可以同时编辑和查看多个文件;
      :sp [文件名]: 横向增加分屏;(split)
      :vsp [文件名]: 纵向增加分屏;(vertical split)
      切换分屏窗口
      分屏窗口都是基于 ctrl + W 这个快捷键的,(w = window)
      ctrl + w + w: 切换到下一个窗口;
      ctrl + w + r: 互换窗口;(reverse)
      ctrl + w + c: 关闭当前窗口,但是不能关闭最后一个窗口;(close)
      ctrl + w + q: 退出当前窗口,如果是最后一个窗口,则关闭 vi;(quit)
      ctrl + w + o: 关闭其他窗口;(other)


    作者:过错
    出处:http://www.cnblogs.com/wang2650/
    关于作者:net开发做的久而已。十余年时光虚度!
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。如有问题,可以邮件:wang2650@163.com  联系我,非常感谢。

  • 相关阅读:
    第三次作业——吉林市两日游规格说明书
    第三次作业——四则运算试题生成
    第三次作业——单元测试
    第三次作业——效能分析
    第三次作业——代码规范
    第三次作业——功能测试
    第二周程序作业
    第二周例行报告
    每周例行报告(10.8-10.14)
    每周例行报告(9.18-10.7)
  • 原文地址:https://www.cnblogs.com/wang2650/p/14261281.html
Copyright © 2011-2022 走看看