第10章 vim程序编辑器

为什么要学习vim?——1.所有的Unix Like系统都会内建vi文书编辑器,其它编辑器不一定了;2.很多软件的编辑接口都会主动调用vi;3.vim具有程序编辑的能力,可以主动地以字体颜色辨别语法的正确性;4.程序简单,编辑速度快。

vim就是vi的升级版本了哦

----------------------------------------------------------------------------------------------------------

vi的使用分为三种模式:一般模式、编辑模式、指令列命令模式

【一般模式】用vi打开一个文件,就是删除、粘贴功能了,按 [:wq] 可以离开vi

【编辑模式】按下“i,I,o,O,a,A,r,R”中任一个字母就可以进入编辑模式,按下后界面左下方会出现[INSERT或REPLACE]的字样,按Esc可以返回一般模式

【指令列命令模式】在一般模式时输入' : / ? '中的任何一个按钮,可以将光标移动到最底下那一行,可以搜寻资料,而且读取、存盘、大量取代字符,离开vi,显示行号等等是在这个模式完成。

**在vi里面,[tab]这个按钮所得到的结果与空格符所得到的结果是不一样的**

如果权限不对,可以使用 [:wq!] 来强制写入,这样就实现了vi的编辑功能。

按键说明

h左,j下,k上,l右【光标】

[Ctrl]+f下,b上,d下半,u上半【屏幕】

+ 非空格符的下一列; - 非空格符的上一列 【光标】

n<space>  n表示数字,向后面移动n个字符 【光标】

0或者[Home]    本行第一个字符【光标】

$或[End]   本行最后一个字符【光标】

H上,M中,L下,G尾  【屏幕行数的第一个字符】

nG,移动到这个文件的第n行(可配合 :set nu)    gg移动到文件第一行,相当于1G(常用)

n<Enter>   光标向下移动n行(常用)

/string 光标之下,?string光标之上    搜寻字符串

n重复前一个搜寻的动作

N反向重复前一个搜寻的动作

:n1,n2s/word1/word2/g       在第n1和n2行之间寻找word1这个字符串,并用word2取代之(常用)

:1,$s/word1/word2/g    在第1和最后一行之间寻找word1这个字符串,并用word2取代之(常用)

:1,$s/word1/word2/gc     同上,且在取代前提示给用户确认的机会(常用)

x ,X    x为向后删除一个字符[del],X为向前删除一个字符[backspace](常用)

nx      连续向后删n个字符

dd      删除游标所在的一整行~~~~~~~~书上写的一整列(常用)

ndd    删除光标所在向下n行(常用)

d1G   删除光标所在到第一行的所有数据

dG     删除光标到最后一行的所有数据

d$      删除光标所在到该行最后一个字符

d0      删除光标所在到该行第一个字符

yy       复制光标所在的那一行(常用)

nyy    复制光标所在向下的n行(常用)

y1G   复制光标所在行到第一行的所有数据

yG      复制光标所在列到最后一列的所有数据

y0       复制光标所在的那个字符到该行首的所有数据

y$       复制光标所在的那个字符到该行尾的所有数据

p,P  p为将已复制的数据在光标下一行粘贴,P为在上一行粘贴

J          将光标所在列与下一列的数据结合成同一列

c         重复删除多个数据,例如向下删除10行, 10cj

u         复原前一个动作(常用)

[Ctrl]+r  重做上一个动作(常用)

.         重复前一个动作(常用)

:w      存储(常用)

:w!     若文件只读,强制写入。不过到底能不能写入,还是跟用户权限有关

:q       离开vi(常用)

:q!     强制离开vi而不存储档案

:wq   储存后离开,若加!则是强制储存后离开

ZZ    有修改则储存后离开,无修改则不储存离开

:w [filename]    将编辑的数据储存成另一个档案

:r [filename]      将filename这个文件中的内容加到光标后面

:n1,n2 w [filename]   将n1到n2的内容储存到filename这个文件

:! command    暂时离开vi到指令列执行command的显示结果

:set nu   显示行号,设定之后,会在每一行的前缀显示该行行号

:set nonu    与set nu相反,取消行号

--------------------------------------------------------------------------------------------------------------

vim的救援功能——突然死机的时候通过某种机制恢复未储存的数据【暂存档】

vim编辑过程中,在被编辑的档案的目录下,再建立一个名为 .filename.swp 的档案

由于【暂存档】存在,vim有时会判断你的文件有些问题:

1.可能有其他人或程序同时在编辑该档案。可以让别人结束vim编辑工作,或者如果你只是查看,就选择开启成只读文件okay了

2.因为某些不知名原因导致vim中断——如果尚未保存vim操作,应按下[R],此时会载入暂存档的内容,不过事后要删除暂存档的文件哦;如果确定暂存档没用,直接按下[D]即可

-------------------------------------------------------------------------------------------------------------

alias vi='vim'     执行vim,如果没有这一行,就需要用vim filename来启动vim了

区块选择(Visual Block)

比如说选择一块,复制或者什么操作的

v                  字符选择,会将光标经过的地方反白选择
V                 行选择,会将光标经过的行反白选择
[Ctrl]+v       区块选择,可以用长方形的方式选择资料
y                  将反白的地方复制起来
d                 将反白的地方删除掉

多文件编辑:

:n        编辑下一个文件
:N       编辑上一个文件
:files  列出目前这个vim的开启的所有文件

多窗口功能:

在指令模式下输入 :sp filename  即可,按键主要有以下几个

:sp [filename]     开启一个或者多个窗口
[ctrl]+w+j/↓           移动光标到下方的窗口
[ctrl]+w+k/↑          移动光标到上方的窗口
[ctrl]+w+q             离开

显示vim的所有环境设定参数   :set all

-----------------------------------------------------------------------------------

DOS与Linux的断行字符不相同

Linux底下仅有LF($)这个断行符号

可以使用 unix2dos [kn] file [newfile]     或者  dos2unix  [-kn] file [newfile]  来进行dos和linux文件的切换

语系编码转换:

http://linux.vbird.org/linux_basic/0310vi/vi.big5

转载于:https://blog.51cto.com/yajunge/1898085

鸟哥的Linux私房菜10.16 vim程序编辑器相关推荐

  1. chmod 777 什么意思:鸟哥的linux私房菜第六章学习笔记

    鸟哥的linux私房菜基础学习篇:心血来潮决定看一下这本书,虽然都是讲很基础的东西,但是,绝对不是浪费时间,比如我看完了之后就终于明白了chmod777是什么意思了. 写这个读书笔记也主要是想记录一些 ...

  2. 鸟哥的Linux 私房菜 (1-12) + my

    <<Linux 鸟哥的私房菜>>  心得 : 实践与观察才是王道 第0章 : 计算机概论  计算机 : 接受用户输入的指令与数据,经过中央处理器的数据与逻辑单元运算处理后,以产 ...

  3. 鸟哥的Linux私房菜学习心得-基础操作

    <鸟哥的Linux私房菜>特别适合新手作为Linux的入门教材,即使没有计算机知识基础也能学明白,鸟哥算是很用心了.半个月来学习了鸟哥主页教程的基础篇,感觉良好,因此特意写下学习的感受,以 ...

  4. 鸟哥的Linux私房菜视频!

    本文转载于一牛网LINUX论坛,需要下载视频的请点击:http://bbs.16rd.com/thread-29646-1-1.html 说到Linux,估计有很多同学都有听过并且跃跃欲试地想学习一下 ...

  5. Linux_正则表达式与文件格式化处理详解《鸟哥的Linux私房菜》学习笔记(极其详细,看完这篇必学会)

    前言 正则表达式 (Regular Expression, RE, 或称为常规表达式)是通过一些特殊字符的排列,用以"搜寻/取代/删除"一列或多列文字字串,简单的说,正则表达式就是 ...

  6. 鸟哥的linux私房菜-文件压缩于打包-2

    dump 备份命令: -S  :仅列出后面的待备份数据需要多少磁碟空间才能够备份完毕: -u  :将这次dump 的时间记录到/etc/dumpdates 文件中: -v  :将dump 的文件过程显 ...

  7. 拒绝从入门到放弃_《鸟哥的 Linux 私房菜 — 基础学习篇(第三版)》必读目录

    目录 目录 前言 关于这本书 必看知识点 最后 前言 相信部分刚进入这个行业的新同学会对一个问题感到疑惑,为什么从培训学校出来的学员不被欢迎? 这里记录下一些我个人的看法(博主也曾有面试新员工的经历) ...

  8. Linux_进程管理详解《鸟哥的Linux私房菜》学习笔记(极其详细,看完这篇就够了)

    前言 当一个程序被载入到内存中运行,那么在内存中的那个程序就被称为进程(process).进程是操作系统上非常重要的概念, 所有系统上面跑的数据都会以进程的形态存在. 那么系统的进程有哪些状态?不同的 ...

  9. 鸟哥的linux私房菜-基础学习篇 读书笔记

    从事linux工作一年多,算是能够熟练运用linux服务器,但仍觉得自己对Linux的原理,理论缺乏空洞,潜下心来认真阅读尘封的鸟哥经典,知识点很全,收获颇多,实践与知识结合,知行合一,对linux开 ...

最新文章

  1. linux smart服务,RAKsmart Linux美国服务器常用信息命令
  2. Spring内核研究-通过工厂注入
  3. pandas教程:series和dataframe
  4. re.search中与正则表达式*结合使用的注意事项
  5. 设置oracle 随机启动,配置Oracle单实例随机启动(11gR2)
  6. address already in use: jvm_bind
  7. centos6中office及中文输入法安装 (转载)
  8. 2011年11月27日学习内容总结
  9. 如何选择云服务器与轻量应用服务器?谈谈自己的看法
  10. directx修复工具 4.0_A12-A13最稳定越狱工具发布,支持iOS13.0—iOS13.3
  11. Red5流媒体服务器的搭建与使用
  12. 单例模式(Singleton Pattern)
  13. 浅谈智能卡技术在数字电视小额支付系统中的应用
  14. 使用x264压制视频简介
  15. linux木马查杀工具,【Kali】linux木马查杀
  16. 网页编程设计常用的各类标签
  17. 连接数据库超时设置autoReconnect=true,默认重试次数调整
  18. java修改mtu值_windows XP系统怎么通过 CMD 系统修改 MTU 值?
  19. java小程序-画一幅海底世界的图
  20. (十三:2020.08.28)CVPR 2015 追踪之论文纲要(译)

热门文章

  1. PHP学习笔记-PHP与Web页面的交互2
  2. Android之给图片添加涂鸦(文字)
  3. 海康 安全码 修改密码_手机为什么要设置PIN码 手机设置PIN码的原因【介绍】
  4. 领结婚证了,新的人生开始了!
  5. windows上下载redis扩展
  6. Java数据结构--有序表
  7. NS2仿真:公交车移动周期模型及性能分析
  8. 0730------Linux网络编程----------服务器端模型(迭代,多进程,多线程,select,poll,epoll 等)...
  9. 富有客户端技术之——jQuery EasyUI
  10. Visual Studio 2005 SP1安装 关键点