专栏首页linux运维学习linux学习第十八篇:vim编辑模式和命令模式

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

  • 查看光标当前的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!”保存。 两种方法实际上效果是一样的。

-

命令集合

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • linux学习第十七篇:vim介绍,颜色显示,移动光标,复制剪切粘贴

    VIM VIM颜色显示和移动光标 VIM一般模式下移动光标 一般模式下复制剪切粘贴 ---- VIM介绍 vi这个命令,它是linux中必不可少的一个工具。没...

    用户1215343
  • linux学习第五篇:系统目录结构,ls命令,文件类型以及alias命令

    系统目录结构 Ls查看根目录 ? 大多数常用的命令都存在于目录   /usr/bin     /usr/sbin/      /bin/    /sbin/  ...

    用户1215343
  • linux学习第九篇:特殊权限set_uid,set_gid,stick_bit以及软连接文件,硬链接文件

    特殊权限set_uid 权限s即为set_uid(给一个文件设置set_uid权限的前提是这个文件是二进制可执行文件) [root@xie-02 ~]# ls ...

    用户1215343
  • vim精简版教程

    vim编辑器 ? vim trree 编辑器的分类 文本编辑器,ASCII码 字处理器:word 全称 vi:Visual interface vim: Vis...

    若与
  • vim编辑器使用方法

    章鱼喵
  • 玩转Mysql系列 - 第27篇:mysql如何确保数据不丢失?有几点值得我们借鉴

    Mysql系列的目标是:通过这个系列从入门到全面掌握一个高级开发所需要的全部技能。

    路人甲Java
  • Vim 插件管理 转

    最开始使用 vim 的时候记了几个快捷键,满足基本的使用。此时仍然和在 windows 上使用记事本没有多大区别。

    双面人
  • Navicat怎样导入Excel表格和txt文本的数据

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_39135287/article/details/808...

    拓荒者
  • Ext1.X的CheckboxSelectionModel默认全选之后不允许编辑的BUG解决方案

    Ext1.X的CheckboxSelectionModel默认全选之后不允许编辑的BUG解决方案,ext 的CheckboxSelectionModel在后台默...

    Java中文社群_老王
  • 你了解你的数据吗(结丹篇):数据质量监控

    木东居士

扫码关注云+社区

领取腾讯云代金券