2019独角兽企业重金招聘Python工程师标准>>>

5.5 进入编辑模式

在一般模式下,不可以修改字符,编辑模式才能。从一般模式进入编辑模式,只需按i、I、a、A、o、O、r和R中的某一个键即可。进入编辑模式时,屏幕的尾行会显示“INSERT”或“REPLACE”的字样(如果CentOS支持中文,会显示“插入”)。从编辑模式回到一般模式,只需按Esc键即可。

5.6 vim命令模式

在一般模式下,输入“:”或者“/”即可进入命令模式。在该模式下,可以搜索某个字符或者字符串,也可以实现保存、替换、退出、显示行号等操作。

其他命令:

  • [ ] nohl,无高亮(no high light),取消内容中高亮标记。
  • [ ] :x,保存并退出(没有修改文本内容,则mtime值不改。而用":wq",则会修改mtime值)
  • [ ] \,反斜杠,转义字符。用于去除一个单个字符的特殊意义,它保留了跟随在之后的字符的字面值,除了换行符。如果在反斜杠之后一个换行字符立即出现,转义字符使行得以继续。

5.7 vim实践

准备文件:cp /etc/dnsmasq.conf /tmp/1.txt

  • 分别向下、向右、向左、向上移动6个字符(6j 6l 6h 6k)。

  • 分别向下、向上翻两页(分别按两次ctrl+f和ctrl+b)。

  • 把光标移动到第49行(49G)。

  • 把光标移动到行尾,再移动到行首(Shift+4, Shift+6)。

  • 移动到1.txt文件的最后一行(G)。

  • 移动到文件的首行(gg)。

  • 搜索文件中出现的“dnsmasq”,并数一下该字符串出现的次数(/dnsmsq 然后按n)。

  • 把从第1行到第10行出现的dnsmasq替换成dns(:1,10s/dnsmasq/dns/g)。

  • 还原上一步操作(u)。

  • 把整个文件中所有的etc替换成cte(:1,$s/etc/cte/g)。

  • 把光标移动到第25行,删除字符串 “ly”(25G 然后按j向右移动光标找到"ly",按v选中,然后按x)。

  • 还原上一步操作(u)。

  • 删除第50行(50G dd)。

  • 还原上一步操作(u)。

  • 删除第37-42行的所有内容(37G 6dd)。

  • 还原上一步操作(u)。

  • 复制第48行的内容并粘贴到第52行下面(48G yy 52G p)。

  • 还原上一步操作(u)。

  • 复制第37-42行的内容并粘贴到第44行上面(37G 6yy 44G P)。

  • 还原上一步操作(按u)。

  • 把第37-42行的内容移动到第19行下面(37G 6dd 19G p)。

  • 还原上一步操作(按u)。

  • 把光标移动到首行,把第1行内容改为“#!/bin/bash”(先按gg,把光标定位到第1行,然后按字母A,进入编辑模式,同时>光标到行末尾,进行修改操作,完成后按ESC)。

  • 在第1行下面插入新的一行,并输入“# Hello!”(按o进入编辑模式,同时光标向下另起一行,输入“# Hello!”)。

  • 保存文档并退出(按Esc键,输入“:wq”)。

扩展知识

vim常用的快捷键

  1. 注释所有的行:ctrl+v j/k+ shift +i
  2. 查看光标当前的man手册 shift+k
  3. d+f+字符
  4. 选中面积 v+t+字符
  5. 在vim里面删除光标后的所有字符 shift+d
  6. 删除当前光标上的单词 d+i+w
  7. 选中当前光标上的单词 v+i+w

vim粘贴代码时,自动缩进功能的关闭

用vim打开一个空白文档,然后把已经复制的代码给粘贴进来,发现它有自动缩进功能,最终导致粘贴的文本一行比一行靠右,看起来乱成一团。比较快的解决办法是,在粘贴文档前,在命令行模式下,输入

:set noai nosi

然后按'i' 进入编辑模式,再粘贴已经复制的代码内容,这样就不会自动缩进了。

有时候,这样的方法不好用,可以尝试这种:

:set paste

PuTTY、Xshell连接Linux,vim的小键盘问题

  1. 在putty上用vi的时候,开NumLock时按小键盘上的数字键并不能输入数字,而是出现一个字母然后换行(实际上是命令模式上对应上下左右的键)。解决方法:

选项Terminal->Features里,找到Disable application keypad mode,选上就可以了。

  1. 在xmanager 4 中的xshell也有小键盘问题 解决方法为:

修改session 属性 -> 终端->VT模式->初始数字键盘模式

选择 设置为普通。

用vim/vi给文件加密和解密

一、利用 vim/vi 加密:

  • 优点:加密后,如果不知道密码,就看不到明文,包括root用户也看不了;
  • 缺点:很明显让别人知道加密了,容易让别人把加密的文件破坏掉,包括内容破坏和删除。
  1. 首先在root主目录/root/下建立一个实验文件text.txt: [root@www ~]# vim/vi text.txt
  2. 进到编辑模式,输入完内容后按ESC,然后输入:X(注意是大写的X),回车;
  3. 这时系统提示让你输入密码,2次
  4. 保存后退出,现在这个文件已经加密了;
  5. 用cat或more查看文件内容,显示为乱码;用 vim/vi 重新编辑这个文件,会提示输入密码,如果输入的密码不正确,同样会显示为乱码!

注意:文件加密后,千万别忘了密码!

二、解密用vi加密的文件(前提是你知道加密的密码):

  1. 用 vim/vi 打开文件如text.txt,要输入正确的密码,然后在编辑时,将密码设置为空。输入命令:

:set key=

然后直接回车,保存文件后,文件已经解密了。 2. 在正确打开文件后用 “:X” 指令,然后给一个空密码也可以。保存用“wq!”保存。

vim的特殊用法 http://www.apelearn.com/bbs/thread-9334-1-1.html

vim快速删除一段字符 http://www.apelearn.com/bbs/thread-842-1-1.html

转载于:https://my.oschina.net/greenfinch/blog/1602468

第4周第3课:vim编辑模式、命令模式、实践相关推荐

  1. vim编辑和命令模式、实践

    2019独角兽企业重金招聘Python工程师标准>>> 9月29日任务 5.5 进入编辑模式 5.6 vim命令模式 5.7 vim实践 Vim编辑模式 进入编辑模式 操作 说明 i ...

  2. linux进命令行模式vi,Linux中vim怎么进入命令模式的方法

    在Linux系统中,使用VIM时我们要怎么快速的从其他模式切换到了模式呢?,下面由学习啦小编为大家整理了linux中vim怎么进入命令模式的方法的相关知识,希望对大家有帮助! Linux中vim怎么进 ...

  3. vim 底行命令模式下的全局命令 g(global)

    文章目录 命令格式介绍 常用的 ex 指令 关于 range 参考示例 结合替换指令 s 使用 将包含 pattern 的行追加到指定的寄存器中 插入空行 打印符合要求的行 删除匹配的行 删除不匹配的 ...

  4. vim三种工作模式 命令模式、编辑模式、末行(底行)模式

    命令模式: 进入vim的默认模式,可以浏览文件,通过移动光标进行一些操作 1.光标移动到行首 按键:shift+6 ("^"符号)  光标移动到行尾 按键:shift+4(&quo ...

  5. linux下vim编辑退出命令

    编辑完保存退出的四种方式         1. Esc+:+wq+回车(w是write,q是quit)         2. Esc+:+x+回车(x=wq)         3. Esc+shift ...

  6. vim 底行命令模式的正则表达式(匹配模式)

    文章目录 一.vim 替换表达式的语法格式 二.vim 关于 range 的表达式 三.vim 关于 flags 的元字符 四.vim 关于数量的元字符 五.环视和固化分组 六.vim 替换表达式的示 ...

  7. 学习笔记(十三)——vim编辑与linux命令

    常用命令 1.命令行 history 查看历史命令! 编号 执行当前命令ls 查看当前的文件夹所有内容ls -a 查看隐藏文件ls -a -l(ls -al) 查看文件的详细信息ls p* 查看文件名 ...

  8. linux怎么退出vim编辑模式_Linux中的vim编辑器使用

    Vim 介绍 Vim 是全屏幕纯文本编辑器,是vi编辑器的升级版. vim 不仅仅兼容vi所有的命令,而且高亮显示,vi只能运行在 UNIX 和 Linux 中,而 vim 可以跨平台运行在Windo ...

  9. linux vi回到末行模式,Linux vi/vim 的命令模式,,编辑模式,末行模式

    命令模式:可以随意的打开一个文件.比如操作 1.[root@room9pc16 ~]# vim /tmp/passwd 按下enter健将会出现如下信息: root:x:0:0:root:/root: ...

  10. vim编辑修改二进制文件以及对于二进制文件中幻数测试

    vim编辑修改二进制文件以及对于二进制文件中幻数测试 这篇博客将讲述我在学习反汇编时遇到的关于编辑二进制文件的问题. 编辑环境:Ubuntu + vim 我测试的文件是一个可执行文件,也就是通过c程序 ...

最新文章

  1. AGX Xavier GPIO
  2. 积分图像追踪目标 (一)
  3. arcpy.mapping实战-专题图制图自动化
  4. Android ActionBar示例教程
  5. 怎么更改win7登录界面 梦幻桌面动态效果电脑桌面快速分屏设置虚拟wifi热点方法_桌面图标弹出提示飞雪桌面日历自定义桌面
  6. 2、RH850外设时钟选择及配置
  7. 英雄联盟数据分析专题(一)
  8. 笔记——H.264/AVC与H.265/HEVC基本总结
  9. 微信企业红包php,微信公众号发红包和企业付款实现方法
  10. 学习方法和学习经验总结
  11. 北京奖励专精特新企业补贴有哪些及怎么建设重点介绍,补贴20-50万
  12. 小朋友你是否有很多问号图_小朋友你是否有很多问号表情包
  13. R2决定系数(Coefficient of Determination)
  14. 基于Dragonboard410c的智能音箱(四)
  15. springboot时间格式化与空值格式化
  16. 安徽信息技术初中会考上机考试模拟_初中会考信息技术考试模拟试题一
  17. 宋宇海:区块链技术有机会成为第四次技术革命的标志
  18. iOS开发之第三方分享微信分享、朋友圈分享,史上最新最全第三方分享微信方式实现、朋友圈方式实现
  19. CMS(内容管理系统)心得
  20. 人工ai迪丽热巴第二部_“天然”与“人工”的双眼皮,区别大吗?迪丽热巴一眨眼,我懂了...

热门文章

  1. Excel插件,按条件从文件夹中筛选图片文件
  2. WordPress主题 大前端 阿里百秀 小清新CMS高级主题[更新v1.1]
  3. Fortify-Insecure Randomness
  4. Collage 相册随机展示相片特效
  5. EXCEL 数字无法降序筛选的解决方案
  6. FindWindowEx用法
  7. 如何编写一个简单的正整数十进制转二进制Java小程序
  8. 6个商用、无版权图片素材网站
  9. BZOJ4451 [Cerc2015]Frightful Formula 多项式 FFT 递推 组合数学
  10. 使用Jackson加密/解密JSON字段