• 个人使用VIM的一些总结


    这两天闲着都在捣鼓VIM了,感觉有点不务正业了,不得不说VIM里面要学习的东西太多了,学习曲线无比陡峭。知识点多了有点乱,特地发个博梳理一下,都是我自己在学习过程中积累的一些,可能有点杂,凑合着看吧,轻拍,欢迎提问一起探讨。

    一、vim介绍与常用命令

      这个就不说了吧,自行google,贴一张VI/VIM键盘图,要学习的拿去当桌面吧,哈哈。

      

    二、vim各版本区别

      ubuntu下预装的版本是vim.tiny,这个更靠近纯vi了,不能使用小键盘和方向键,在编辑模式下,移动光标会变成A B C D等字符并换行。

      解决方法两个;

        1.vim缺省是vi兼容模式,设置成不兼容模式就好了:
          :set nocp

        2.安装完整VIM

      VIM其他版本:vim-gnome安装的vim依赖于gnome的某些东西的。vim-gtk 依赖于gtk的某些东西。vim-nox这个不知道,ubuntu官网也没说明。还有一个vim-athena,据说是界面很华丽,没用过不评论。具体看http://packages.ubuntu.com/oneiric/vim

    三、vim缓冲区

      缓冲区(Buffer)是一块内存区域,里面存储着正在编辑的文件。如果没有把缓冲区里的文件存盘,那么原始文件不会被更改。

      :buffers  命令将会列出当前编辑中所有的缓冲区状态。在这个状态列表中,前面的数字是缓冲区的数字标记,第二个标记就是缓冲区当前的状态,紧接着是与缓冲区所关联的文件名。有如下几种状态:

      - (非活动的缓冲区)
      a (激活缓冲区)
      h (隐藏的缓冲区)
      % (当前的缓冲区)
      # (交换缓冲区)
      = (只读缓冲区)
      + (已经更改的缓冲区)

    Buffers

    其他命令
    :buffers 列示缓冲区状态
    :buffer 编辑指定缓冲区
    :ball(ba默认水平分屏) 编辑所有缓冲区
    :bnext(bn) 到下一缓冲区
    :bprevious(bp) 到前一缓冲区
    :blast 到最后一个缓冲区
    :bfirst 到第一个缓冲区
    :badd 增加缓冲区
    :bdelete 删除缓冲区
    :bunload 卸载缓冲区

    具体看:http://www.pythonclub.org/linux/vim/buffer

     
     
     
     
    四、VIM分屏显示
     
      1 . 水平分屏split(sp) || 垂直分屏vsplit(vs)
        :(v)split      输入这样的命令后vi就会将当前的窗口平分为两个,并且在这两个窗口中显示的是同一篇文章。如果你在其中的 一个窗口进行文编辑,那么另一个窗口也会同步的显示出你所做的工作。
        :(v)split filename 分屏显示另外一篇文章
        :new        用分割形式新建文件
        CTRL-W w     用于在窗口间跳转
     
        CTRL-W+    增大窗口,默认增量为1
        CTRL-W-    减小窗口,默认值为1
        CTRL-W=    可以将几个窗口的大小变得相等。
     
      2 . 标签页tab
        用标签页显示各个缓冲区,非常实用,好像只支持VIM7以上。
           :tabnew : 打开一个新的标签页
         :tabprevious : 回到上一个标签页。
           :tabnext : 到下一个标签页
           :tabc: close a tab
     
      3 . vimdiffer
        一种特殊的启动 Vim 的方法可以用来显示两个文件的差异
     
     
     
    五、配置文件vim与vimrc(配置IDE)
     
       这个问题太大了,要配置好一个自己习惯的VIM太困难了,正在学习中。。。。。
  • 相关阅读:
    PCLVisualizer可视化类
    【Leetcode】课程表(拓扑排序)
    不是充许的静态以太网地址,它与vmware保留的mac地址冲突
    vmware虚拟机linux添加硬盘后先分区再格式化操作方法
    卸载mysql时,提示libmysqlclient.so.16()(64bit) is needed by (installed) postfix
    创建mysql数据库,在新数据库中创建表,再尝试删除表
    忘记linux下的mysql密码,需要重新创建密码123456
    创建mysql表
    程序员的冷笑话 python版本
    python的__mro__与__slot__
  • 原文地址:https://www.cnblogs.com/MuyouSome/p/3051744.html
Copyright © 2020-2023  润新知