linux学习第十八篇:vim编辑模式和命令模式

来源:互联网 发布:淘宝拍a发b教程 编辑:程序博客网 时间:2024/05/22 00:46
  • 查看光标当前的man手册 shift+k
  • d+f+字符
  • 选中面积 v+t+字符
  • 在vim里面删除光标后的所有字符 shift+d
  • 删除当前光标上的单词 d+i+w
  • 选中当前光标上的单词 v+i+w

进入编辑模式

编辑模式:一般模式下,是不可以修改某一个字符的,只能到编辑模式了。从一般模式进入编辑模式,只需你按一个键即可(i, I, a, A, o, O, r, R)。当进入编辑模式时,会在屏幕的最下一行出现“INSERT或REPLACE”的字样。从编辑模式回到一般模式只需要按一下键盘左上方的ESC键即可。

按键 作用 i 在当前字符前输入 I 在光标所在行的行首插入 a 在当前字符后插入 A 在光标所在行的行尾插入 o 在当前行的下一行插入新的一行 O 在当前行的上一行插入新的一行

vim命令模式

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

命令 作用 /word 向光标之后查找一个字符word,按n向后继续搜索,shift+n向前搜索 ?word 向光标之前查找一个字符串word,按n向前继续搜索 :n1,n2s/word1/word2/g 在n1,n2行之间查找word1并替换为word2,不加 g 则只替换每行的第一个word1 :1,$s/word1/word2/g 将文档中所有的word1替换为word2,不加 g 则只替换每行的第一个word1 :w 保存文本 :q 退出vim :w! 强制保存,在root用户下,即使文本只读也可以完成保存 :q! 强制退出,所有改动不生效 :wq 保存并退出 :set nu 显示行号 :ser nonu 不显示行号

PS:命令: /nohl 可取消你搜索时留下的高亮

PS:当想替换的目标是路径如/etc/hosts时,可使用#,@等代替/。如:(:1,$s#/etc/hosts#word/g 或者

:1,$s/\/etc\/hosts/word/g 或者

:1,$s@/etc/hosts@word@g)

PS:dd命令删除一行之后到目标行按p复制在目标行,相当于剪切后粘贴。

vim实践

分别向下,向右,向左,向右移动6个字符: 6j 6l 6h 6l

分别向下,向上翻两页: Ctrl+F 和Ctrl+B

把光标移动到第49行: 49G

把光标移动到行尾,再移动到行首: Shift+4 , Shift+6

移动到1.txt文件的最后一行:G

移动到文件的首行: gg

搜索文件中出现的dnsmasq字符串,并数一下该字符串出现的次数: 输入 /dnsmasq,然后按n

把从第一行到第十行出现的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 dd

还原上一步操作:u

复制第48行的内容并将其粘贴到第52行下面: 48G yy 52G p

还原上一步操作:u

复制第37行至42行的内容并将其粘贴到第44行上面: 37G 6yy 44G p

还原上一步操作: u

把第37行至42行的内容移动到第19行下面: 37G 6dd 19G p

还原上一步操作:u

把光标移动到首行,把第一行的内容改为 #!/bin/bash: 先按gg,把光标定位到第一行,然后按字母A,进入编辑模式,同时将光标移动到行末进行修改,完成后Esc键退出编辑模式。

在第一行下面插入新的一行,并输入 # Hello!:按o进入编辑模式,同时将光标下移另起一行,输入#Hello !

保存文档并退出: 按Esc键退出编辑模式,按Shift+:,输入 :wq,回车。

-

扩展

vim的特殊用法 http://www.apelearn.com/bbs/thread-9334-1-1.html
vim常用快捷键总结 http://www.apelearn.com/bbs/thread-407-1-1.html
vim快速删除一段字符 http://www.apelearn.com/bbs/thread-842-1-1.html
vim乱码 http://www.apelearn.com/bbs/thread-6753-1-1.html
小键盘问题 http://www.apelearn.com/bbs/thread-7215-1-1.html
vim加密 http://www.apelearn.com/bbs/thread-7750-1-1.html

PS:多行注释:

  • 首先按esc进入命令行模式下,按下Ctrl + v,进入列(也叫区块)模式;

  • 在行首使用上下键选择需要注释的多行;

  • 按下键盘(大写)“I”键,进入插入模式;

  • 然后输入注释符(“//”、“#”等);

  • 最后按下“Esc”键。

==注:在按下esc键后,会稍等一会才会出现注释,不要着急~~时间很短的==

2.删除多行注释:

  • 首先按esc进入命令行模式下,按下Ctrl + v, 进入列模式;

  • 选定要取消注释的多行;

  • 按下“x”或者“d”.

==注意:如果是“//”注释,那需要执行两次该操作,如果是“#”注释,一次即可==

Linux用vim/vi给文件加密和解密
一、 利用 vim/vi 加密:
优点:加密后,如果不知道密码,就看不到明文,包括root用户也看不了;
缺点:很明显让别人知道加密了,容易让别人把加密的文件破坏掉,包括内容破坏和删除;

vi编辑器相信大家都很熟悉了吧,vi里有一个命令是给文件加密的,举个例子吧:
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!”保存。
两种方法实际上效果是一样的。

-

命令集合

这里写图片描述
这里写图片描述
这里写图片描述