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

5.5 进入编辑模式

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

Markdown

5.6 vim命令模式

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

Markdown

其他命令:

  • [ ] 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值