码迷,mamicode.com
首页 > 系统相关 > 详细

vim编辑器用法

时间:2016-07-19 15:41:14      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:配置文件   程序设计   编辑器   linux   记录   

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  移动到这个文件第一行 ,相当于1G

17. N[enter] N为数字,光标向下移动N

一般模式下的查找和替换:

1./word  向下寻找一个名为word的字符串

2.word 向上寻找一个名为word的字符串

3.n   这个n是英文键,代表重复前一个查找的操作,例如,刚才查找的是word这个字符串,当按下n时,他向下继续查找一个名称为word的字符串

4.N  n的功能相反,N是向上查找一个名为word的字符串

5.n1n2s/word1/word2/g n1n2为数字,意思是在n1n2行之间查找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.PP  p为将复制的数据在光标下一行粘贴,P为将复制的数据在光标的上一行粘贴

16.J     将光标所在行与下一行所结合

17.c     重复删除多个数据,例如向下删除10行(10c

18.u     复原上一个操作

19.[ctrl]+r  重做上一个操作

20. .    小数点,重复上一个操作(重复删除,重复粘贴)

一般模式到编辑模式的可用按钮

iI  i为目前光标所在行处插入,I为目前所在行的第一个非空格处开始插入

Aa  a为从目前光标所在的下一个字符处开始插入,A为从光标所在行的最后一个字符开始插入

Oo o为目前光标所在行的下一行开始插入,O为目前光标所在的上一行开始插入

R,r  r只会替换光标所在的第一个字符一次,R会一直替换光标所在的文字,直到安退出键为至

一般模式切换到命令模式可用

  说几个不错的

w  filename】 将这个编辑好的文件保存成为另一个文件

r    filename】 在编辑的数据中,读入另一个文件的数据,即将‘filename’这个文件内容加到光标所在行的后面

n1n2  w filename】 将此文件的n1n2行保存到另一个文件中

 

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]+f

Page up 来跑前跑后查阅?

用法:

vim打开一个文件,在命令行输入 “:sp  [filename]” 只有一个文件时,可以不加上文件名,但是如果打开了两个文件时,就必须加上文件名

 :sp  [filename]  打开一个新窗口

 [ctrl]+w+向下键/j  将光标移动到下方的窗口

 [ctrl]+w+向上键/k  将光标移动到上方的窗口

 [ctrl]+k+q      结束当前窗口

水平拆分窗口 ctrl+ws

垂直拆分窗口 ctrl+wv / 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(默认不存在,你可以手动建立这个文件)。

 

 

 

DOSlinux的段行字符

DOSwindows) 使用的段行字符为“^M$” 我们称为CRLF两个字符。

Linux,则仅有LF$)段行字符

linux文件转换为DOS

##UNIX2dos  -k  filename

DOS文件转换为linux

#dos2UNIX -k -n filename1 filename.linux

 


本文出自 “11716212” 博客,请务必保留此出处http://11726212.blog.51cto.com/11716212/1827719

vim编辑器用法

标签:配置文件   程序设计   编辑器   linux   记录   

原文地址:http://11726212.blog.51cto.com/11716212/1827719

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!