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
总用量
drwxr-xr-x root root 4月 : nerd_tree
-rw-r--r-- root root 4月 : nerd_tree.zip
[root@localhost vim]# cd nerd_tree
[root@localhost nerd_tree]# ll
总用量
drwxr-xr-x root root 4月 : autoload
-rw-r--r-- root root 11月 CHANGELOG
drwxr-xr-x root root 4月 : doc
drwxr-xr-x root root 4月 : lib
-rw------- root root 7月 LICENCE
drwxr-xr-x root root 4月 : nerdtree_plugin
drwxr-xr-x root root 4月 : plugin
-rw-r--r-- root root 11月 README.markdown
drwxr-xr-x root root 4月 : 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

【linux】vim常用操作及vim插件的安装使用的更多相关文章

  1. VIM常用操作手册

    VIM常用操作手册 1.多行操作,多行注释,多行取消注释 https://jingyan.baidu.com/article/9c69d48f43ed6d13c8024e7b.html 2.常用操作 ...

  2. [moka同学收藏]Vim升华之树形目录插件NERDTree安装图解

    无意中看到实验室的朋友使用的vim竟然能在左边显示树形目录,感觉很方便,这样子文件夹有什么文件一目了然.她说是一个插件叫NERDTree,安装执行后的效果如下,不是你想要的效果就别安了.我的系统是Ub ...

  3. Vim升华之树形目录插件NERDTree安装图解

    来源:CSDN 作者:mybelief321 无意中看到实验室的朋友使用的vim竟然能在左边显示树形目录,感觉很方便,这样子文件夹有什么文件一目了然.他说是一个插件叫NERDTree,安装执行后的效果 ...

  4. Vim升华之树形目录插件NERDTree安装图解【转】

    本文转载自:http://www.linuxidc.com/Linux/2013-06/86048.htm 无意中看到实验室的朋友使用的vim竟然能在左边显示树形目录,感觉很方便,这样子文件夹有什么文 ...

  5. linux学习(2):linux服务器常用操作和命令

    linux服务器常用操作和命令 目录 1. 什么是linux服务器load average?2. 如何查看linux服务器负载3. 服务器负载高怎么办?4. 如何查看服务器内存使用率?5. 如何查看单 ...

  6. Linux下Vim常用操作

    linux下Vim的常用操作 linux ​ 首先\(ctrl+Alt+t\)打开小框框 ​ \(./\):相当于手机上的\(home\)键 ​ \(ls\):当前文件夹的东东 ​ \(mkdir\) ...

  7. Linux(Ubuntu)常用命令(五)—— vi/vim常用操作

    vi/vim常用命令 vim其实就是vi的升级版,vi里的所有命令vim里都可以用,一般使用来说几乎没什么差别. 注:本篇文章区分大小写! vi / vim三级模式的关系: 命令行模式 任何时候,不管 ...

  8. vim常用操作技巧与配置

    vi是linux与unix下的常用文本编辑器,其运行稳定,使用方便,本文将分两部分对其常用操作技巧和配置进行阐述,其中参考了网上的一些文章,对作者表示感谢 PART1 操作技巧 说明: 以下的例子中  ...

  9. [编辑器]vim常用操作

    我是ide的用户,对于vim一只停留在:打开.看.写.关闭基本操作,因为现在更多的接触linux服务器,所以为了提高 效率,用好vim是必备技能!下面罗列一些vim的常用操作,用做备忘(不断更新): ...

随机推荐

  1. Windows10常用快捷键

    1. 打开注册表 ctrl+R   --->   regedit   2.打开资源管理器 win + E    3.切换到桌面 win + D   再按一次可以进行还原   4.锁屏 win+ ...

  2. # 【Python3练习题 007】 有一对兔子,从出生后第3个月起每个月都生一对兔子, # 小兔子长到第三个月后每个月又生一对兔子, # 假如兔子都不死,问每个月的兔子总数为多少?

    # 有一对兔子,从出生后第3个月起每个月都生一对兔子,# 小兔子长到第三个月后每个月又生一对兔子, # 假如兔子都不死,问每个月的兔子总数为多少?这题反正我自己是算不出来.网上说是经典的“斐波纳契数列 ...

  3. js原生实现div渐入渐出

    jq对渐入渐出进行封装,简单的使用连个方法就可以实现.fadeIn(),fadeOut();如果我们界面没有使用jq那么原生怎么实现呢? 我们讲解一下,这个原理.当我们要实现渐入的时候,首先是让隐藏的 ...

  4. AJAX返回值问题

    ajax同步方式获取返回值,必须以同步请求的的方式获取. //主函数部分 function confirm(id,...)//省略部分参数 { //...省略部分代码 //任务涉及专业 var Maj ...

  5. Oracle 表分区(Partition)

    表分区功能能够改善应用程序性能,提高数据库可管理性和可用性,是数据库管理非常关键的技术.数据库通过使用分区提高查询性能,简化日常管理维护工作. 1 分区优点 1) 减少维护工作量,独立管理每个表分区比 ...

  6. java编程规范(持续更新)

    1:非空判断 错误例子: if(user.getUserName().equals("hollis")){ } 这段代码极有可能在实际运行的时候跑出NullPointerExcep ...

  7. Java 里如何实现线程间通信(转载)

    出处:http://www.importnew.com/26850.html 正常情况下,每个子线程完成各自的任务就可以结束了.不过有的时候,我们希望多个线程协同工作来完成某个任务,这时就涉及到了线程 ...

  8. Linux Centos 迁移Mysql 数据位置

    Linux Centos 迁移Mysql 数据位置 由于业务量增加导致安装在系统盘(20G)磁盘空间被占满了, 现在进行数据库的迁移. Mysql 是通过 yum 安装的. Centos6.5Mysq ...

  9. [转帖]ipvsadm命令参考及其应用例子

    ipvsadm命令参考及其应用例子 https://blog.csdn.net/orichisonic/article/details/47375227 只是简单创建了 service和添加serve ...

  10. RabbitMQ基本操作

    更加详细的 链接https://www.cnblogs.com/dwlsxj/p/RabbitMQ.html RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(A ...