您的位置:首页 > 其它

vim编辑器用法

2016-07-19 13:49 148 查看
Vim在linux的世界中,绝大多数配置文件是以ASCII的纯文本形式存在,(什么是纯文本文件:其实文件记录的就是1或者0,而我们通过编码系统将这些0或者1转换成我们认识的文字就是了)为何要学习vim?1.所有的unix like系统都会内置vi文本编辑器,其他的文本编辑器不一定存在;2.很多软件的编辑接口都会主动调用vim;3.Vim具有程序编程能力,可以主动以字体颜色辨别语法的正确性,方便程序设计;4.编程简单,编辑速度相当快速;Vim分为三种模式:一般模式;命令模式;编辑模式;在vim里面,【tab】健所得到的结果和空格是不一样的在一般模式移动光标的方法:1 . h 向左移动一个字符 j 向下.... k 向上... l 向右...(如果要进行多此移动的话,例如向下移动30行,可以使用30j)2 . [ctrl]+f == [page down]向下移动一页3 . [ctrl]+b == [page up] 向上移动一页4 . [ctrl]+d 向下移动半页5 . [ctrl]+u 向上移动半页6. + 光标移动非空白行的下一行7. - .................的上一行8. n[space] 光标会向右移动这一行的n个字符9. 0或者功能键【home】移动到这行字符的最前面10. $或者[end]移动到这行字符最后面字符处11. H 光标移动到这个屏幕的最上方那一行的第一个字符12. M .................................的中央...................................13. L ..................................的最下面..............................14. G 移动到这个文件的最后一行15. nG n为数字,移动到这个文件的第n行16. gg 移动到这个文件第一行 ,相当于1G17. N[enter] N为数字,光标向下移动N行一般模式下的查找和替换:1./word 向下寻找一个名为word的字符串2.?word 向上寻找一个名为word的字符串3.n 这个n是英文键,代表重复前一个查找的操作,例如,刚才查找的是word这个字符串,当按下n时,他向下继续查找一个名称为word的字符串4.N 和n的功能相反,N是向上查找一个名为word的字符串5.:n1,n2s/word1/word2/g n1,n2为数字,意思是在n1和n2行之间查找word1这个字符串,并用word2替换掉。6.:n1,$s/word1/word2/g 从第n1行到最后一行查找并替换7.n1,$s/word1/word2/gc 和上面的功能一样,就是在替换之前提示是否确认替换掉一般模式的删除,复制与粘贴1.x,X 在一行中,x为向后删除一个字符,X向前删除一个字符2.nx n为数字,nx表示向后删除n个字符,nX 相前删除3.dd 删除一整行4.ndd n为数字,删除光标所在向下n行 5.d1G 删除光标所在到第一行的所有数据6.dG 删除从光标所在到最后以行的所有数据7.d$ 删除光标所在处到该行最后一个字符8.d0 删除光标所在处到该行第一个字符9.yy 复制光标所在的那一行10.nyy n为数字,复制光标所在行向下n行的数据11.y1G 复制光标所在到第一行的所有数据12.yG 复制从光标所在到最后以行的所有数据 13.y0 复制光标所在处到该行第一个字符14.y$ 复制光标所在处到该行最后一个字符 15.P,P p为将复制的数据在光标下一行粘贴,P为将复制的数据在光标的上一行粘贴16.J 将光标所在行与下一行所结合17.c 重复删除多个数据,例如向下删除10行(10c)18.u 复原上一个操作19.[ctrl]+r 重做上一个操作20. . 小数点,重复上一个操作(重复删除,重复粘贴)一般模式到编辑模式的可用按钮i,I i为目前光标所在行处插入,I为目前所在行的第一个非空格处开始插入A,a a为从目前光标所在的下一个字符处开始插入,A为从光标所在行的最后一个字符开始插入O,o o为目前光标所在行的下一行开始插入,O为目前光标所在的上一行开始插入R,r r只会替换光标所在的第一个字符一次,R会一直替换光标所在的文字,直到安退出键为至一般模式切换到命令模式可用 说几个不错的:w 【filename】 将这个编辑好的文件保存成为另一个文件:r 【filename】 在编辑的数据中,读入另一个文件的数据,即将‘filename’这个文件内容加到光标所在行的后面:n1,n2 w 【filename】 将此文件的n1到n2行保存到另一个文件中 Vim 的保存文件,恢复与打开的警告信息 目前主要的编辑软件都会有‘恢复’的功能,当系统因为某些原因导致死机的情况时,还可以通过某些特别的机制将之前未保存的数据救回来。当我们使用vim编辑时,vim会在被编辑的文件目录下在建一个名为 .filename.swp 的文件,下来我们以 /tmp/passwd 为例,当系统断线时,编辑的文件还没保存,此时 .filename.swp 就起到了作用:不正常关闭; 生成的暂存文件(由于不正常中断,导致暂存盘无法通过正常流程来结束,所以暂存文件就不会消失,而继续保留下来)

出现上面的问题有两类可以导致:1.可能有其他人或程序同时在编辑这个文件。解决方法:由于linux时多人,多任务的环境,因此可能很多人同时在编辑同一个文件。找到另外那个程序或人员,请他将该vim结束还有你可以输入大写o,只读模式2,在前一个vim的环境中,可能因为某些不明原因导致vim中断如果你当前没有保存你编辑的东西,此时你可以选择R,O 只读 E 还是用正常的方式打开你要编辑的那个文件,并不会载入暂存文件的内容。不过很容易出现两个用户互相改变对方文件等问题。R 就是救回你之前编辑没有保存的文件,当时救回之后,退出,还要手动删除那个暂存文件。D 如果你确定那个暂存文件无用,就按D直接删除Q 不会进行任何操作回到命令提示符A 忽略这个编辑行为i,和Q相识Vim 块选择v 字符选择,会将经过的地方反白选择V 行选择,会将光标经过的行反白处理[ctrl]+v 块选择,可以用长方形的方式选择数据y 将选择的地方复制d 删除 Vim 多文件编辑 假如,你想要将hosts 里面的ip复制到你的/etc/ww下,此时,解决的办法是:vim filname1 filename2 用vim同时打开两个文件 :n 编辑下一个文件:N 编辑上一个文件:files 列出当前这个vim的打开所有文件 Vim 多窗口功能 当我有一个非常大的文件,我查阅到后面的数据时,想要对照前面的数据,师傅需要使用[ctrl]+fPage up 来跑前跑后查阅?用法:用vim打开一个文件,在命令行输入 “:sp [filename]” 只有一个文件时,可以不加上文件名,但是如果打开了两个文件时,就必须加上文件名 :sp [filename] 打开一个新窗口 [ctrl]+w+向下键/j 将光标移动到下方的窗口 [ctrl]+w+向上键/k 将光标移动到上方的窗口 [ctrl]+k+q 结束当前窗口水平拆分窗口 ctrl+w, s垂直拆分窗口 ctrl+w, v / :sp:qa 关掉所有窗口分窗口显示多个文件:#vim -o filename1 filename2 水平显示文件#vim -O filename1 filename2 垂直显示多个文件在vim中如何和shell交互:! 命令 然后回车,看完之后在回车还是回到了vim中显示忽略区分字符大小写:set ic:set noignorecase /:set noic设定自动缩键:set autoindent:set ai取消为:set noai查找到的文本高亮显示或取消:set hlsearch:set nohlsearch(取消)语法高亮:syntax on:syntax off(关闭)Vim环境设置与记录: ~/.vimrc ~/.viminfo~/.viminfo 如果我们以vim软件查找一个文件的某个字符串时,这个字符串会反白,这是因为我们会主动将你曾经做过的行为记录下来,保存在~/.viminfo 当中~/.vimrc 整体的vim设置值一般放在/etc/vimrc,不过,不建议修改它,你可以修改~/.vimrc(默认不存在,你可以手动建立这个文件)。 DOS与linux的段行字符DOS(windows) 使用的段行字符为“^M$” 我们称为CR和LF两个字符。Linux,则仅有LF($)段行字符将linux文件转换为DOS##UNIX2dos -k filename将DOS文件转换为linux#dos2UNIX -k -n filename1 filename.linux
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息