前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vim的编辑模式,命令模式以及vim的实践

vim的编辑模式,命令模式以及vim的实践

作者头像
叶瑾
发布2018-06-14 11:58:09
1.4K0
发布2018-06-14 11:58:09
举报
文章被收录于专栏:linux系统运维linux系统运维

vim编辑模式:

              从一般模式进入编辑模式,只需按i、I、a、A、o、O、r和R中的某一个键即可,当进入编辑模式时,在屏幕的尾行显示INSERT字样(若支持中文,则显示插入)。按Esc键,从编辑模式回到一般模式。

             i(小写) 从目前光标所在处插入。

             I (大写)从目前光标所在处第一个非空格开始插入。

             a 从光标所在处的下一个字符开始插入。

             A 从光标所在处行的最后一个字符卡是插入

             o 从目前光标所在处的下一行插入新的一行。

             O 为在目前光标所在处的上面一行插入新的一行。

             r 进入一次替换插入,即在目前光标的下一行插入新的一行。

             R 一直替换插入,直到按下esc为止。

vim命令模式:

        :nohl不高亮显示

        :x与:wq类似,如果在更改文件之后操作,两者效果一样;如果打开文件,没有任何操作,:wq会更改mtime,但是:x不会。

   扩展vim加密: 

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!”保存。 两种方法实际上效果是一样的。

vim编辑器里面一些不为人知的操作:

1.vim编辑器的替换模式与可视模式 在一般模式下按键盘上的r和R进入替换模式。如果按小r那么这时候就进入了替换模式,你下一个输入的字符会把你当前光标所在处的字符替换,然后自动退出替换模式。如果你按的是大R那么你下面输入的所有字符会把后面的字符依次替换,直到按退出替换模式。 在一般模式下按键盘上的v和V进入可视模式。如果是按小v那么这时候就时入了视图模式,这时候你移动光标会把你光标所在处到光标结尾处的所有字符选中,这时候可以进行复制,删除等操作。如果是按大V同样也是进入了视图模式,这时候移动光标会把光标所在行到光标结尾的行的所有内容选中,也可以进行复制,删除等操作。 注意:使用在一般模式使用“ctrl+v”组合键可以进入块操作模式 在这个模式下和可视模式差不多,但是选择的内容不同,大家可实际操作看看 2.删除从光标所在处到行尾字符 在一般模式下输入大写“D”或者输入“d$” 3.删除从光标所在处到行首字符 在一般模式下输入大写“d^” 4.删除从光标所在行到文件末尾行 在一般模式下输入大写“dG” 5.删除指定范围内所有行 例:删除10到15行的所有内容 在一般模式下输入“:10,15d”回车 6.把正在编辑的文件另存为新文件 例:把正在编辑的文件另存为到“/root/”下面并保存为1.txt 在一般模式下输入“:w /root/1.txt” 例:把正在编辑的文件的第10行到第15行另存为1.txt并保存到root目录下在一般模式下输入“:10,15 w /root/1.txt” 7.把其它文件的内容导入到正在编辑的文件的光标所在处 例:把“/root/1.txt” 文件的内容,导入到下在编辑的文件的第10行下面 首先在一般模式下按“10G”把光标定位到第10行 然后按“o”小写,当前行的下面另起一行,并进入插入模式 最后按键盘上的返回到一般模式,再输入“:r /root/1.txt”回车 8.正在编辑文件时,不退出文件仍可以运行linux命令 列:我下在编辑一个文件,但这时候我想查看“/root/1.txt” 文件的内容,但是我不想退出我正在编辑的文件,那么我们可以这样 在编辑模式下输入“:! cat /root/1.txt 9.把命令的执行结果导入到正在编辑的文件的光标所在处 这题我们可以结合上面两题,在一般模式下输入“:r ! cat /root/1.txt” 10.查找替换的功能使用 例:在10到15行的行首增加“#” 在一般模式下输入“:10,15s/^/#/” 例:在10到15行的行首去掉“#” 在一般模式下输入“:10,15s/^#//” 例:在10到15行的行首增加“//” 在一般模式下输入“:10,15s/^/\/\//”或者“:10,15s@^@//@”或者“:10,15s#^#//#” 注意:在上面所有命令的最后面都可以加g或者c一起配合使用,g的意思是行中出现的所有指定字符都替换,但是如果加了g那么前面就不能出现位置定义字符,反之前面出现的位置定义字符,那么后面就不可以出现g。在后面加c可以跟用户交互,在查找到符合命令的字符提示用户是否替换,需要用户确认,否则不需要确认 11.把输入的指定字符替换为指定的字符 例:在编辑一个文档的时候,我要频繁的输入“abcdefghijklmnopqrstuvwxyz”这样的连续字符串,这时候我想只输入一个或者一串指定字符就可以替换为刚才的字符,比如我指定输入“aming”系统就会自动把“aming”替换成“abcdefghijklmnopqrstuvwxyz” 在一般模式下输入“:ab aming abcdefghijklmnopqrstuvwxyz”然后回车,再进入编辑模式,当你输入“aming”的时候就会发现自动替换成了“abcdefghijklmnopqrstuvwxyz” 12.快捷键的定义 例:我想在一般模式下按键盘上的ctrl+b快捷键,会自动在光标所在行的行首插入“#”号,然后自动退出到一般模式 在一般模式下输入“:map ctrl+v ctrl+b I # ”然后回车,这时候在一般模式按键盘上的ctrl+b的时候就会在光标所在的行首插入“#”号了 注意:命令中ctrl+v和ctrl+b是键盘上的组合键,不是输入进去的字符,是需要按的组合键,其中第一个ctrl+v就照按,第二个ctrl+b是要定义的快捷键,根据自己需要的设置按。然后“I”的意思就是一般模式下的“I”进入插入模式并将光标移动到行首,然后接着输入“#”号,后面“”的意思是退出编辑模式 13.同进编辑两个文件或者 例:我现正在编辑1.txt文件,然后我想再打开root目录下的2.txt同时编辑,并把窗口上下水平分隔,一起显示 在一般模式下输入“:new /root/2.txt” 例:我现正在编辑1.txt文件,然后我想再打开root目录下的2.txt同时编辑,并把窗口左右垂直分隔,一起显示 在一般模式下输入“:vsplit /root/2.txt” 注意:在一般模式下按“ctrl+w”组合键,再按左右,或者上下方向键,可以在不同窗口之间切换如果在一般模式下输入“:only”那么只保留当前正在编辑的窗口,其它全关闭 15.在vim查找关键字时不区分大小写 在一般模式下输入“:set ic” 如果想取消就输入“:set noic” 16.如何把文件设置成只读文件,只有强制保存时才能保存 在一般模式下输入“:set readonly” 17.把文件恢复到打开时的状态 在一般模式下输入“:e!” 18.配置文件的使用 以上那么多操作,像设置忽略大小写,设定快捷键,设定自动替换,等一些操作,当电脑重启后就没有了。这时候我们可以把这些命令写入配置文件,这样电脑重启后还是可以使用,我们有两种方法 第一种:所有用户都统一 修改“/etc/vimrc”文件,在末尾加入需要设置的命令,就是我红色标注的部分 第二种:只对当前用户 修改用户家目录下的“.vimrc”文件,注意有个点,这是隐藏文件,一般用户家下没有,需要自己手工创建

分享几个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的特殊用法 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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • vim编辑模式:
  • vim命令模式:
  •    扩展vim加密: 
  • vim编辑器里面一些不为人知的操作:
  • 分享几个vim里常用的快捷键:
  •      扩展 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
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档