5.5 进入编辑模式 5.6 vim命令模式 5.7 vim实践
5.5 进入编辑模式
5.6 vim 命令模式
如果要替换/etc/hosts为aminglinux.com :1,$s//etc/hosts/aminglinux.com/g 为拖译 这样写起来有点麻烦,看起来很晕 可以使用#作为语法的组成 :1,$s#/etc/hosts#aminglinux.com#g或者使用@符号也可以额 :1,$s@/etc/hosts@aminglinux.com@g :q 退出 :wq 保存退出 :q!强制退出,改动不生效 :w!强制保存,在root用户下即使文本只读也可以完成保存 :set nu显示行号 1#Configurationfilefordnsmasq. 2# 3#Formatisoneoptionperline,legaloptionsarethesame 4#asthelongoptionslegalonthecommandline.See 5#"/usr/sbin/dnsmasq--help"or"man8dnsmasq"fordetails. 6 7#ListenonthisspecificportinsteadofthestandardDNSport 8#(53).SettingthistozerocompletelydisablesDNSfunction,9#leavingonlyDHCPand/orTFTP. 10#port=5353 11 12#Thefollowingtwooptionsmakeyouabetternetizen,sincethey 13#telldnsmasqtofilteroutquerieswhichthepublicDNScannot 14#answer,andwhichloadtheservers(especiallytherootservers) 15#unnecessarily.Ifyouhaveadial-on-demandlinktheyalsostop 16#theserequestsfrombringingupthelinkunnecessarily. 17 18#Neverforwardplainnames(withoutadotordomainpart) 19#domain-needed 20#Neverforwardaddressesinthenon-routedaddressspaces. 21#bogus-priv 22 23 24#Uncommentthistofilteruselesswindows-originatedDNSrequests 25#whichcantriggerdial-on-demandlinksneedlessly. 26#Notethat(amongstotherthings)thisblocksallSRVrequests,27#sodon'tuseitifyouuseegKerberos,SIP,XMMPorGoogle-talk.:setnu :set nonu 不显示行号 :nohl (不高量) :x 和 :wq 在更改文件内容的情况下都是保存退出,效果一样,但是如果只是打开看了一下没有做任何操作,:wq会更改文件访问时间 mtime,:x则不会更改mtime,没有改动就不会更改文件的mtime。 5.7 vim实践先把etc目录的dnsmasq 文件 拷贝到 tmp目录下并且改名为1.txt,命令如下 [root@aminglinux-01~]#cp/etc/dnsmasq.conf/tmp/1.txt[root@aminglinux-01~]#vim/tmp/1.txt 扩展1. vim的特殊用法http://www.apelearn.com/bbs/thread-9334-1-1.html
在一般模式下按键盘上的v和V进入可视模式。如果是按小v那么这时候就时入了视图模式,这时候你移动光标会把你光标所在处到光标结尾处的所有字符选中,这时候可以进行复制,删除等操作。如果是按大V同样也是进入了视图模式,这时候移动光标会把光标所在行到光标结尾的行的所有内容选中,也可以进行复制,删除等操作。 注意:使用在一般模式使用“ctrl+v”组合键可以进入块操作模式 在这个模式下和可视模式差不多,但是选择的内容不同,大家可实际操作看看
在一般模式下输入大写“D”或者输入“d$”
在一般模式下输入大写“d^”
在一般模式下输入大写“dG”
例:删除10到15行的所有内容 在一般模式下输入“:10,15d”回车
例:把正在编辑的文件另存为到“/root/”下面并保存为1.txt 在一般模式下输入“:w /root/1.txt” 例:把正在编辑的文件的第10行到第15行另存为1.txt并保存到root目录下在一般模式下输入“:10,15 w /root/1.txt”
例:把“/root/1.txt” 文件的内容,导入到下在编辑的文件的第10行下面 首先在一般模式下按“10G”把光标定位到第10行 然后按“o”小写,当前行的下面另起一行,并进入插入模式 最后按键盘上的返回到一般模式,再输入“:r /root/1.txt”回车
列:我下在编辑一个文件,但这时候我想查看“/root/1.txt” 文件的内容,但是我不想退出我正在编辑的文件,那么我们可以这样 在编辑模式下输入“:! cat /root/1.txt”
这题我们可以结合上面两题,在一般模式下输入“:r ! cat /root/1.txt”
例:在10到15行的行首增加“#” 在一般模式下输入“:10,15s/^/#/” 例:在10到15行的行首去掉“#” 在一般模式下输入“:10,15s/^#//” 例:在10到15行的行首增加“//” 在一般模式下输入“:10,15s/////”或者“:10,15s@@//@”或者“:10,15s#^#//#”
例:在编辑一个文档的时候,我要频繁的输入“abcdefghijklmnopqrstuvwxyz”这样的连续字符串,这时候我想只输入一个或者一串指定字符就可以替换为刚才的字符,比如我指定输入“aming”系统就会自动把“aming”替换成“abcdefghijklmnopqrstuvwxyz” 在一般模式下输入“:ab aming abcdefghijklmnopqrstuvwxyz”然后回车,再进入编辑模式,当你输入“aming”的时候就会发现自动替换成了“abcdefghijklmnopqrstuvwxyz”
例:我想在一般模式下按键盘上的ctrl+b快捷键,会自动在光标所在行的行首插入“#”号,然后自动退出到一般模式 在一般模式下输入“:map ctrl+v ctrl+b I # ”然后回车,这时候在一般模式按键盘上的ctrl+b的时候就会在光标所在的行首插入“#”号了
例:我现正在编辑1.txt文件,然后我想再打开root目录下的2.txt同时编辑,并把窗口上下水平分隔,一起显示 在一般模式下输入“:new /root/2.txt” 例:我现正在编辑1.txt文件,然后我想再打开root目录下的2.txt同时编辑,并把窗口左右垂直分隔,一起显示 在一般模式下输入“:vsplit /root/2.txt”
在一般模式下输入“:set ic” 如果想取消就输入“:set noic”
在一般模式下输入“:set readonly”
在一般模式下输入“:e!”
2. vim常用快捷键总结http://www.apelearn.com/bbs/thread-407-1-1.html
3. vim快速删除一段字符http://www.apelearn.com/bbs/thread-842-1-1.html
vim 因为不是一行,所以用dd不行,但用x去删除的话,又太慢。今天从网上发现一种特别快速删除的方法。 那就是使用da,如何使用,请看下面的例子。 比如,我的1.txt内容如下: 22222222222222222222222221 222222222222222222222222222222B3NzaC1yc2EAAAABIwAAAQEAv5oJvuIdaaVUsDOA2FbfnL0K2GbTc05Yg6TGM+8SNleI6bU5MhAy2uP5J4yCrMu43911hEJ2uh1UPycWX1O4xpEgUm8TGIs1HoQySnukv3g121uOLACRj37qqL9j4RRhrUxhunAW3alLSGIV0mxFD0ApyycFoLA/1I3hU7Yyx7tdripwz0FeHHhT3Qjfe9yC8Z6Ptq7cvBPXBBvc/G8pXVq3bnGMtj9Ifmbh7NnTvfHnEZGacf2MR4FSy0MMuNL0k3X5sBlsyP9/rXY9CPOh73eKUhZQoK3uWjwuDRp/dqrxgWDVeg0NZ+0t130pKu/LSREothWoVBu54rrtUUIdb3Sq0xsW4x9EhKGJJHPvBrbGbiDPTKBUaHdQEfmQQPAWeeX1hMC7lCunnfgTzf39Pv/2VpXz2l8NH2Jem0nrS48A6sf4eFz5VIakoRySMQu/6mY4s9aU3arbX+JvUE9s2/7D+JdqJlINtQqRU4V92LQq3BJaSMmKiwnPSytxDtARI3+8I2XXqFCJ5bBY7e3333333333333333333333 44444444444444444444444444444 我现在想删除22222222222和33333333333333333之间的字符只需要这样做:
另外,除了可以使用{ 外,还可以使用 ",',( 等成对的特殊符号。 其实vim还有一个比较常用的那就是v了,用v和d来删除也挺方便的: 打开一个文本后,直接按v,然后移动光标可以选中文本,当选中完你想要的文本后,直接按d,就删除了。 4. vim乱码http://www.apelearn.com/bbs/thread-6753-1-1.html
用vim打开一个空白文档,然后把已经复制的代码给粘贴进来,发现它有自动缩进功能,最终导致粘贴的文本一行比一行靠右,看起来乱成一团。比较快的解决办法是,在粘贴文档前,在命令行模式下,输入 :set noai nosi 然后按'i' 进入编辑模式,再粘贴已经复制的代码内容,这样就不会自动缩进了。 有时候,这样的方法不好用,可以尝试这种: :set paste 5. 小键盘问题http://www.apelearn.com/bbs/thread-7215-1-1.html
在putty上用vi的时候,开NumLock时按小键盘上的数字键并不能输入数字,而是出现一个字母然后换行(实际上是命令模式上对应上下左右的键)。解决方法 选项Terminal->Features里,找到Disable application keypad mode,选上就可以了 在xmanager 4 中的xshell也有小键盘问题 解决方法为 修改session 属性 -> 终端->VT模式->初始数字键盘模式 选择 设置为普通。 6. vim加密http://www.apelearn.com/bbs/thread-7750-1-1.html
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 重新编辑这个文件,会提示输入密码,如果输入的密码不正确,同样会显示为乱码! 注意:文件加密后,千万别忘了密码!
http://www.aminglinux.com/bbs/forum-44-1.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |