zoukankan      html  css  js  c++  java
  • 【linux】vim常用操作及vim插件的安装使用

     vim介绍

      vim是linux和类UNIX下一个非常好用的文本编辑器,在linux下开发的人员要熟练掌握vim常用命令。

      vim和vi的关系

        vim其实是vi的功能增强版,vim = vi + IMproved。

        多了一下功能:

          1.多级撤销功能。

          2.语法加亮和自动补全。

          3.支持多种插件。

          4.通过网络协议(HTTP/SSH)编辑文件。

          5.多文件同时编辑。

          6.可以编辑压缩格式的文件。

    vim三种操作模式 

      vim编辑器有三种工作模式:
        1.命令行模式(command Mode):
          该模式下可以通过输入命令来移动屏幕上的光标去对文本里字符,行进行删除,复制,移动等操作。
        2.插入模式(Insert Mode)
          该模式下可进行文本的编辑,按住i进入该模式,在按住ESC回到命令模式。
        3.低行模式(Last Line Mode)
          低行模式下文本不可编辑,一般这个模式下的命令都是用":"开始,比如保存文件:wq,或者搜索字符串。

    vim常用命令操作

    1.  打开在第n行

    vim +143 filename.txt   
    

    2. 只读模式打开

    vim -R /tmp/a.txt
    

     3.强制保存

    命令模式 wq!
    

     4.转到当前行尾和行首

    命令模式 按大A跳至行尾
    按0 跳至行首

     5.定位到多少行

    命令模式 :set nu 
       然后 :n        n就是想定位的行数
    

     6.复制多行到别的行

    命令模式 :16,30 copy  35      (复制16行到30行的内容到35行)
    

    7.复制一行为多行,如下图:

         

    在左边图中,命令模式下输入

    Y10p

     就会多复制一模一样的10行。

    8.移动行

    命令模式 :38 move 50          (把38行内容移动到50行)
    

     9.跳转文件头部和末尾

    在命令模式下 gg 跳转文件首行
    在命令模式下 G  跳转文件末尾
    

     10.清空文件内容

    在命令模式下,先执行  gg 这里是跳至文件首行 再执行:dG 这样就清空了整个文件!
    或者退出vim  然后使用 echo "" >> filename 
    

     11.撤销上一步修改

    当你修改一个文件。比如添加一些内容,如果你想撤销
    按ESC退出编辑模式 在按小u 就可以撤销上一步操作
    

     12.打开文件直接进入文件末尾

    vim + filename
    

     13.删除行部分内容

    命令模式 大C 会删除光标所在字符及其后面改行所有内容
    

    14.删除当前行

    dd 删除当前行,并把删除的行存到剪贴板里
    

    15.复制粘贴

    命令模式   yy复制当前行 然后依然在改行在按 p
    会在该行下面多出一行该行的内容
    

     16.复制光标以上的所有行

    y1G或ygg
    

     17.翻屏

    命令模式
    ctrl+f: 下翻一屏
    ctrl+b: 上翻一屏
    ctrl+e: 向下滚动一行
    ctrl+y: 向上滚动一行
    

    18.快速移动光标

       命令模式下

       nj : 往当前行下移动n行,n是数字。比如5j就是往下移动光标5行。

       nl: 往右移动n列,n是数字。比如5l就是光标往右移动5列。

       nh: 往左移动n列,n是数字。比如5h就是光标往左移动5列。

       nk: 往上移动n行,n是数字。比如5k就是光标往上移动5列。

    19.忽略大小写搜索。

        默认情况下 vim 的查找都是区分大小写的,但有时候不需要确认搜索内容大小写情况, 这种情况下就要用到大小写忽略。

        命令模式下,输入下面命令,就可以按需要区分是否大小写。

    :set ic(ignorecase 的缩写) 忽略大小写
    :set noic(noignorecase 的缩写) 不忽略大小写 

    注意:退出vim编辑器设置失效。

    20.撤销上一步操作

    在命令模式中按u就是对上一步操作的撤销

     除了vim本身功能,还可以安装vim的插件NERDTree 。

    vim插件可以去这个网址去下载 http://www.vim.org/scripts/script.php?script_id=1658

    [root@localhost local]# wget  -O nerd_tree.zip  https://www.vim.org/scripts/download_script.php?src_id=23731
    [root@localhost local]# unzip  nerd_tree.zip  -d ./nerd_tree
    [root@localhost vim]# ll
    总用量 72
    drwxr-xr-x 8 root root  4096 4月  28 14:48 nerd_tree
    -rw-r--r-- 1 root root 66208 4月  28 14:48 nerd_tree.zip
    [root@localhost vim]# cd nerd_tree
    [root@localhost nerd_tree]# ll
    总用量 20
    drwxr-xr-x 3 root root   40 4月  28 14:48 autoload
    -rw-r--r-- 1 root root 6320 11月 14 2015 CHANGELOG
    drwxr-xr-x 2 root root   26 4月  28 14:48 doc
    drwxr-xr-x 3 root root   21 4月  28 14:48 lib
    -rw------- 1 root root  474 7月   5 2014 LICENCE
    drwxr-xr-x 2 root root   48 4月  28 14:48 nerdtree_plugin
    drwxr-xr-x 2 root root   26 4月  28 14:48 plugin
    -rw-r--r-- 1 root root 4551 11月 12 2015 README.markdown
    drwxr-xr-x 2 root root   25 4月  28 14:48 syntax

    下载解压缩好之后,把plugin / NERD_tree.vim 和 doc /  NERD_tree.txt 分别拷贝到 ~/.vim/plugm 和 ~/.vim/doc目录下。

    [root@localhost nerd_tree]# cp plugin/NERD_tree.vim  ~/.vim/plugin
    cp: 无法创建普通文件"/root/.vim/plugin": 没有那个文件或目录
    [root@localhost nerd_tree]# mkdir -p ~/.vim/plugin
    [root@localhost nerd_tree]# cp plugin/NERD_tree.vim  ~/.vim/plugin
    [root@localhost nerd_tree]#  mkdir -p  ~/.vim/doc
    [root@localhost nerd_tree]# cp doc/NERD_tree.txt ~/.vim/doc/
    [root@localhost nerd_tree]# ls ~/.vim/doc
    NERD_tree.txt
    [root@localhost nerd_tree]# ls ~/.vim
    doc  plugin

     然后将下面一些文件夹也复制到~/.vim目录下。

    [root@localhost nerd_tree]# cp -r {autoload,lib,nerdtree_plugin,syntax} ~/.vim/
    您在 /var/spool/mail/root 中有邮件
    [root@localhost nerd_tree]# ls ~/.vim
    autoload  doc  lib  nerdtree_plugin  plugin  syntax

    然后直接输入vim,会弹出下面画面

    然后在输入:NERDTree就可以把NERDTree调出来。显示出当前目录的树形结构。

    如果想看哪个文件就移动上下键到所在文件或者目录按下enter,如果是目录就列出目录中的文件,如果是文件会打开文件,右边显示文件内容。在如果想切回来就按下ctrl+2次w,就可以回到左侧目录列表。

    想退出NERDTree  就按下 :qa 

    关于NERDTree  插件更多使用方法可以查看这篇文章 https://linux.cn/article-7424-1.html

  • 相关阅读:
    [opencv] 生成标定棋盘格
    [opencv] cmake编译opencv并去窗口边框
    [opencv] matlab生成opencv可读的xml
    [matlab] vc++和matlab混合编程
    全息摄影
    [opencv&opengl]多窗口显示
    CPLEX
    ios读取设备姿态并传输
    python: 基本知识记录
    css: position的使用;
  • 原文地址:https://www.cnblogs.com/songgj/p/8441129.html
Copyright © 2011-2022 走看看