前言

各种操作系统都有比较友好的界面,习惯于WindowsLinuxMac的各种操作界面的情况下,使用命令行简直太难受了
然后,为了方便对学校的hustoj进行各种加题、配spj的操作,本校的学长给我了ssh的密钥
ssh貌似不能远程命令行以外的东西(如果能我也不会)
这个时候打开文件就比较麻烦
好在Linux系统自带Vi,当然其使用方式还是和一般的什么txt不太一样,毕竟是在命令行里的
当然,人们一般更喜欢用的编辑器是Vim,但是大致的功能差不多,所以这篇博客的功能可以说是Vi/Vim
注意:本文介绍的Vi是Linux系统下的,有些操作系统不带此编辑器

正文

打开文件

通过命令行到某个目录下,用Vi打开该目录下的“1.cpp”

vi 1.cpp

也可以使用这个命令(似乎是等效的,然而我并不确定)

vim 1.cpp

当然其它后缀的文件也可以同样打开

主体介绍

Vim有多种模式,常用的有三种:命令模式(Command mode),输入模式(Insert mode)和底线命令(末行)模式(Last line mode)
其实这三种模式的设计非常好用,既通过按键实现很多功能,也能兼顾文本的编辑

命令模式

打开Vim默认的就是命令模式

  • 小写字母iii
    按“i”键进入输入模式(当然其它有些键也可以,但是这个的操作名字为“在当前位置开始进行操作”,其它的其实不咋用)
    可以理解为insertmodinsert\ modinsert mod,就好记了
  • 字符:::,shiftshiftshift+;;;
    进入末行模式
    理解成打分号了我就要输入具体命令了
  • 两个字符ZZZZZZ,连续打入
    你会直接保存并退出
    命令模式常用的功能主要是用命令编辑文本

这里以下会讲很多编辑操作

  • 小写字母uuu
    撤销上一次动作,理论上能撤销多次
    可以理解为undoundoundo
  • .,按下英文句号
    重复上次操作
  • 小写字母xxx
    删除当前光标的后一个字符,并且会保留在命令模式
    可以理解为Delete
  • 大写字母XXX
    删除当前光标的前一个字符,并且会保留在命令模式
    可以理解为Backspace
  • 字符$,shift+444
    移到行尾
  • 字符^,shift+666
    移到从开头开始的第一个非TabTabTab位置
  • 字符000
    移到行首
  • GGG
    移到最后一行
  • 1G1G1G
    移到第一行
  • yyyyyy
    复制当前行
  • 字符ppp
    粘贴到下一行
  • 字符PPP
    粘贴到上一行
  • y1Gy1Gy1G
    复制当前行至第一行的所有内容
  • yGyGyG
    复制当前行至最后一行的所有内容
  • [number]+[↑\uparrow↑或↓\downarrow↓或←\leftarrow←或→\rightarrow→或Enter]
    向指定方向动number次,Enter方向为向下

搜索与替换

  • /[string]
    往下查找string
  • ?[string]
    往上查找string
  • 字符nnn
    沿着上一次的输入查找的方向查找(不算是输入查找方向)
  • 字符NNN
    反向上一次的输入查找的方向查找(不算是输入查找方向)
  • [number1],[number2]s/[string1]/[string2]/[g或者gc]
    代表在number1行到number2行直接把所有string1替换成string2(number可以输入$代表最后一行,如果每次替换前需要提示则最后一个变量选择gc)
    Hint:每次输入都很可能匹配到某个操作,所以要谨慎,并且容易发现,很多东西是套用格式,可以举一反三

末行模式

从命令模式,打入“:”之后,我们可以输入指令,输入完后换行确认,无论你的输入是否正确,它都会回到命令模式

  • 字符www
    保存当前文件
    如果要另保存备份则应输入
    w[filename]w\ [file\ name]w [file name]
  • 字符qqq
    退出对当前文件的编辑
  • 两个字符wqwqwq
    保存当前文件并退出对当前文件的编辑
  • !command!\ command! command,一个感叹号,后面跟加一些命令
    不退出vim,在命令行中执行command并查看结果
  • 字符串setnuset\ nuset nu
    显示行号,其实行号挺重要的,命令模式中的很多操作都要用到
  • 字符串setnonuset\ nonuset nonu
    隐藏行号

编辑模式

编辑模式里按ESCESCESC能够返回命令模式
然后另外就可以自由输入啦

总结

这个编辑器功能强大,还是挺不错的,但是要记住这些操作
另外,我这里只是列举我认为比较有用的,其实其功能还有很多
推荐两篇比较系统介绍的(这两个东西太多了,推荐有需要再去看)
http://www.cnblogs.com/doseoer/p/6241443.html
http://www.runoob.com/linux/linux-vim.html
最后贴上一个经典的图

Vi(Linux系统下的标准编辑器)学习笔记相关推荐

  1. Linux debian安装Notepadqq,Linux系统下的Notepad++编辑器

    Notepad++是Windows系统常用的文本编辑器,而Notepadqq是Linux系统下Notepad++的免费开源替代品. 在Debian系统中安装Notepadqq的方法 Debian也可以 ...

  2. Linux系统下的C语言学习

    学习目标: C Learning- C语言的优点 C语言的缺点 打印C语言的特点 学习内容: 前言 C语言的优点 1. C语言简洁.紧凑.灵活 C语言的核心内容很少,只有32个关键字,9种控制语句:程 ...

  3. linux more 下一页_Linux学习笔记

    1.查看主机的ip地址 ifconfig --> ipconfig(windows下) 2.清除屏幕 clear 3.命令的结构含义 4.文件查看 more: 一页一页的查看,翻页查看内容 mo ...

  4. linux下串口通信详解,Linux操作系统下的串口通信学习笔记

    http://www.diybl.com/ 2008-7-5 网络 点击: [ 评论 ] - - 文章搜索:     [点击打包该文章] [本站开通在线QQ讨论群] CBAUDEX (不属于POSIX ...

  5. Linux——系统开关机指令简单学习笔记

    关机:命令名称:shutdown命令所在路径:/usr/sbin/shutdown执行权限:root语法:shutdown功能描述:关机范例:# shutdown -h now 重启:命令名称:reb ...

  6. Linux系统基本命令之vim编辑器的使用

    Linux系统下有很多编辑器,经常听到的就有:Emacs ,pico ,nano ,joe , vim等 一.     学习vim编辑器的原因 l  所有的Linux系统都会内置vi编辑器,而不一定会 ...

  7. linux系统下怎么使用c语言,Linux操作系统下C语言使用.ppt

    Linux操作系统下C语言使用 Linux操作系统下C语言的使用 授课教师:江兰帆 E-Mail: jiang_lanfan@126.com GCC的使用 在LINUX开发环境下,GCC(GNU C ...

  8. 属于Linux下的编辑器,vi编辑器是所有linux系统下标准的编辑器,它可分为哪些状态?()...

    vi编辑器是所有linux系统下标准的编辑器,它可分为哪些状态?() 更多相关问题 [单选题]2.三角形的三个内角之和是( )度 A. 180 B. 160 C. 170 D. 150 [单选题]下图 ...

  9. Linux系统下vi和vim的区别

    Linux系统下vi和vim的区别 简单来说,vi是老式的字处理器,vim是在vi的基础上发展出来的一个文本编辑器,目前,我们使用较多的是vim编辑器.vim编辑器具有程序编辑的能力,可以主动的以字体 ...

最新文章

  1. iOS - 实现映客首页 TabBar 和滑动隐藏 NavBar 和 TabBar
  2. Win7中如何删除word模板
  3. Kali Linux安全渗透教程(内部资料)
  4. linux内核网络协议栈--linux网络设备理解(十四)
  5. 【SDL】 如何在RedHat6.5中搭建SDL开发环境
  6. MySQL默认安装目录
  7. 利用Nmap对MS-SQLSERVER进行渗透
  8. linux汇编stdin,汇编:从标准输入中读取整数,将其递增并打印到标准输出
  9. java怎样将多个list写入txt中并且不覆盖原有数据_java容器,面试必备知识点整理!...
  10. 温升测试总结setllom解胶剂
  11. vscode 显示分支_Git以及vscode里的使用
  12. Kafka与.net core(一)安装
  13. 【学习笔记】常见的激励函数和损失函数
  14. 10个图库素材网站,免费可商用
  15. android 小游戏心得、,iOS/安卓版《辐射:避难所(Fallout Shelter)》攻略心得:玩法要点详解与心得技巧...
  16. 计算机单元格选项,如何在excel单元格里设置下拉选项
  17. Action Unit到底是什么?
  18. 分别用if else 以及 switch实现 税收计算
  19. 计算机视觉知识点之RCNN/Fast RCNN/Faster RCNN
  20. win10 chrome被毒霸2345劫持主页处理过程与结果

热门文章

  1. ServletAPI介绍
  2. 文件下载乱码问题分析与解决
  3. 忽略SQL改造等价性
  4. ElasticSearch 简介,概念和集成
  5. 设计模式之_Strategy_04
  6. SpringBoot 上传多个文件
  7. FastDFS:Java客户都实现文件的上传、下载、修改、删除
  8. 通用权限管理系统组件 (GPM - General Permissions Manager) - 支持请求
  9. How to think positively 如何培养正念
  10. Discovering versions from the identity service failed when creating the password plugin.