阅读大概需要6分钟

导读

vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim)。vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率。vi是“visual interface”的缩写,vim是vi IMproved(增强版的vi)。在一般的系统管理维护中vi就够用,如果想使用代码加亮的话可以使用vim。下面vps侦探整理一下vi的使用教程:包含vi的基本介绍、使用模式、文件的打开关闭保存、插入文本或新建行、移动光标、删除、恢复字符或行、搜索等等,算是一篇比较适合新手学习vi的教程。

vi有3个模式:插入模式、命令模式、低行模式。

插入模式:在此模式下可以输入字符,按ESC将回到命令模式。
命令模式:可以移动光标、删除字符等。
低行模式:可以保存文件、退出vi、设置vi、查找等功能(低行模式也可以看作是命令模式里的)。

一、打开文件、保存、关闭文件(vi命令模式下使用)

vi filename       //打开filename文件
:w       //保存文件
:w vpser.net //保存至vpser.net文件
:q          //退出编辑器,如果文件已修改请使用下面的命令
:q!        //退出编辑器,且不保存
:wq         //退出编辑器,且保存文件

二、插入文本或行(vi命令模式下使用,执行下面命令后将进入插入模式,按ESC键可退出插入模式)

a      //在当前光标位置的右边添加文本
i       //在当前光标位置的左边添加文本
A     //在当前行的末尾位置添加文本
I      //在当前行的开始处添加文本(非空字符的行首)
O     //在当前行的上面新建一行
o     //在当前行的下面新建一行
R    //替换(覆盖)当前光标位置及后面的若干文本
J    //合并光标所在行及下一行为一行(依然在命令模式)

三、移动光标(vi命令模式下使用)

1、使用上下左右方向键

2、命令模式下:h   向左、j   向下 、k   向上、l  向右。
空格键 向右、Backspace  向左、Enter  移动到下一行首、-  移动到上一行首。

四、删除、恢复字符或行(vi命令模式下使用)

x         //删除当前字符
nx         //删除从光标开始的n个字符
dd      //删除当前行
ndd   //向下删除当前行在内的n行
u       //撤销上一步操作
U      //撤销对当前行的所有操作

五、搜索(vi命令模式下使用)

/vpser     //向光标下搜索vpser字符串
?vpser     //向光标上搜索vpser字符串
n           //向下搜索前一个搜素动作
N         //向上搜索前一个搜索动作

六、跳至指定行(vi命令模式下使用)

n+        //向下跳n行
n-         //向上跳n行
nG        //跳到行号为n的行
G           //跳至文件的底部

七、设置行号(vi命令模式下使用)

:set  nu     //显示行号
:set nonu    //取消显示行号

八、复制、粘贴(vi命令模式下使用)

yy    //将当前行复制到缓存区,也可以用 "ayy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。
nyy   //将当前行向下n行复制到缓冲区,也可以用 "anyy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。
yw    //复制从光标开始到词尾的字符。
nyw   //复制从光标开始的n个单词。
y^      //复制从光标到行首的内容。  VPS侦探
y$      //复制从光标到行尾的内容。
p        //粘贴剪切板里的内容在光标后,如果使用了前面的自定义缓冲区,建议使用"ap 进行粘贴。
P        //粘贴剪切板里的内容在光标前,如果使用了前面的自定义缓冲区,建议使用"aP 进行粘贴。

九、替换(vi命令模式下使用)

:s/old/new      //用new替换行中首次出现的old
:s/old/new/g         //用new替换行中所有的old
:n,m s/old/new/g     //用new替换从n到m行里所有的old
:%s/old/new/g      //用new替换当前文件里所有的old

十、编辑其他文件

:e otherfilename    //编辑文件名为otherfilename的文件。

十一、修改文件格式

:set fileformat=unix   //将文件修改为unix格式,如win下面的文本文件在linux下会出现^M。

总结:vi(vim)虽然有比较多的命令,但是只要勤加练习,相信你会很快的熟练掌握,同时也会给你的工作或学习带来更高的效率。当如果不知道自己处在什么模式时可以按2次Esc键即可回到命令模式,会有最后提醒一点:注意大小写!!!

本文转载自:VPS侦探 本文链接地址:https://www.vpser.net/manage/vi.html

每日托福单词

nitrogen  n.氮气

underlie  v.构成...的基础,成为...的起因

amendment  n.修正,修正案

genre  n.类型,体裁,风格

graze  v.吃草

以后每次推送都有托福的词汇,无论自己将来想要出国深造还是国内读博或者就业,英语必定是要掌握的。每天看技术文章的同时顺便记几个托福单词,真的是很不错的选择!点点滴滴积累才能成就大业!看好你!!!

推荐阅读:

highway Network

福利来了!本人近300G的学习资料愿与大家分享

【干货】神经网络SRU

基于attention的seq2seq机器翻译实践详解

【干货】基于注意力机制的seq2seq网络


欢迎关注深度学习自然语言处理公众号,我会在这里记录自己在路上的一点一滴!再小的人也有自己的品牌!期待和你一起进步!

有关vi(vim)的常用命令相关推荐

  1. $Linux vi/vim编辑器常用命令与用法总结

    (一)vi/vim是什么? Linux世界几乎所有的配置文件都是以纯文本形式存在的,而在所有的Linux发行版系统上都有vi编辑器,因此利用简单的文字编辑软件就能够轻松地修改系统的各种配置了,非常方便 ...

  2. Vi/Vim/GVim 常用命令总结

    一.Vim 介绍 Vim是从 vi 发展出来的一个文本编辑器. 官方网站介绍 vim 是一个程序开发工具.代码补全.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用. 二. Vim 的三种 ...

  3. Linux知识点整理(六)—— Linux的vi/vim编辑器常用命令

    有关该内容更详细的可见参考文献,仅作为学习用途 一.Vi的使用: 第一部份:一般指令模式可用的按钮说明,光标移动.复制粘贴.搜索取代等 移动光标的方法 h 或 向左方向键(←) 光标向左移动一个字符 ...

  4. vim+快捷键+常用+命令

    Vim 编辑器是一个基于命令行的工具,是传奇编辑器 vi 的增强版.尽管图形界面的富文本编辑有很多,但是熟悉 Vim 对于每一位 Linux 的使用者都能有所帮助--无论你是经验丰富的系统管理员,还是 ...

  5. VI/VIM 编辑器常用操作

    目录 VI/VIM编辑器常用操作介绍: 1.VI和VIM是什么 2.一般模式 2.1常用语法 3.编辑模式 3.1常用语法 4.指令模式 4.1基本语法 5.模式转换 6.VI/VIM键盘图 1.VI ...

  6. 【Linux】vi和vim编辑器——常用命令大全

    文章目录 8.1.vi 和 vim 8.1.1 VI 8.1.2 VIM 8.2 打开和新建文件 8.2.1 打开文件并且定位行 8.3 VI三种工作模式 8.4 常用命令 8.4.1 移动 8.4. ...

  7. Bash,Vim,gdbgit常用命令

    Bash 目录 pwd  //查看当前目录 mkdir dir1 dir2  //创建目录 tree dir1 mv test1.cpp test2.cpp dir1 dir  //移动文件/目录到目 ...

  8. Ubuntu下安装vim以及常用命令

    众所周知,Linux与Win之间的区别是Linux需要大量的命令行操作,而有些配置文件也是在命令行中输入的. 这些操作就需要编辑器的帮助了. 我接触Ubuntu的时间不长,碰到过三个编辑器 gedit ...

  9. vim 一些常用命令

    大家都到了,上班了 得准备干活了,直接copy了. 有什么问题直接指出来我修改. # 页面内跳转 H 跳转到本页面最上面一行(home) M 跳转到本页面中间一行(middle) L 跳转到本页面最下 ...

  10. 10 分钟上手 Vim,常用命令大盘点

    传闻有 180 万的程序员不知道如何退出 Vim 编辑器,真的有这么困难吗?下面给大家整理了一份 Vim 常用命令,让你 10 分钟快速上手 Vim,溜得飞起! 以下命令请在普通模式执行 1.移动光标 ...

最新文章

  1. MySQL 错误代码和消息
  2. 浏览器自动调html5,HTML5 浏览器支持
  3. 【scala】集和映射
  4. PowerDesigner(1)----转载
  5. instanceof运算符_Java 8中的instanceof运算符和访客模式替换
  6. delphi 中如果不进行 closehandle 会怎么样_报考八一农大的十一大选择之七|带你走进不一样的“信息世界”...
  7. SVM原理,及和逻辑回归区别
  8. 编程基本功:作为程序员,你有过写优美代码的体验吗
  9. 歌华链刷 openwrt 记录
  10. 世界著名汽车标志(大全)
  11. 解决remote: You are not allowed to upload code.fatal: unable to access.The requested URL error:403
  12. Python——域名解析成IP地址
  13. iOS内测分发平台的选择与标准
  14. 伪造邮件***,看我如何给网易邮箱APP发送垃圾邮件【二】
  15. This Python interpreter is in a conda environment问题解决
  16. lnk1120如何解决_Linking a C++ DLL 引发LNK1120和LNK2019问题的解决方案
  17. xmind 使用详解
  18. 解析Token工具类
  19. php小偷cookie,ptcms小说小偷程序 最新EXP漏洞
  20. https双向认证访问管理后台,采用USBKEY进行系统访问的身份鉴别,KEY的证书长度大于128位,使用USBKEY登录

热门文章

  1. PHP 中数组获取不到元素
  2. AOJ 0525 Osenbei
  3. http1.0 与 http1.1
  4. 答寒冬的面试题(1)
  5. “带锁的门”问题,并有c语言和python代码运行效率对比
  6. java day01【前言、入门程序、常量、变量】
  7. Docker代理设置方法
  8. tarjan用法——割点
  9. Windows 对外开放端口号
  10. HDOJ 1420 Prepared for New Acmer(DP)