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

VIM介绍

时间:2018-02-28 23:04:44      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:vim   复制   

vim是vi的一个升级版本,比vi多了一些特性
vim编辑文件的时候是带颜色显示的,vi是没有颜色显示的
默认是没有安装vim的,需要安装一下这个包
yum install -y vim-enhanced
vim有三种模式,分别为一般模式、编辑模式、命令模式
一般模式:dd删除命令,yy复制命令p粘贴命令等
编辑模式:按完i之后是编辑模式,可以对文件增删改,
命令模式:没有按i之前,或者在编辑模式下按esc键键入命令模式对文件可以查找替换等。保存退出也是在命令模式下操作的。

在编辑/etc/passwd的文件时是有颜色显示的,在copy到/tmp/passwd的时候,在编辑/tmp/passwd的文件时,就没有颜色的显示了
在centos中/etc/ 下是放的配置文件,所以有颜色,当复制到其他的目录中就会把原来的配置文件当成普通的文件,所有就没有颜色

可以编辑/tmp/passwd的文件在第一行添加一个#khaskdjfhkashdf加上这一行,然后退出,再重新编辑也是有颜色的,是蓝色的,也就是说,在普通文件中也是有颜色显示的,只不过是需要特定的环境才能有颜色。

把这个文件换一个.sh结尾的文件,也是有颜色变化的,.sh是一个shell脚本的格式
mv /tmp/passwd /tmp/passwd.sh

/etc/vimrc是vim的配置文件,如果需要改的话,可以改这个文件,一般保持默认即可
[root@kylin ~]# vim /etc/vimrc

移动光标
可以通过上下左右键可以移动,也可以用字母移动

h:向左移动光标
k:向上移动光标
j:向下移动光标
l:向右移动光标
空格键也是向右移动
数字加字母表示移动一行或几个字母
5h:向左移动5个字符
5j:想下移动5行
5k:向上移动5行
5l:向右移动5个字符
5空格:向右移动5字符

gg:文本的一行
G:文本的最后一行
^、0:行首
$:行末

50G:把光标定位到第五十行
ctrl+b或者pageup:向上翻屏
ctrl+f或者pagedown:向下翻屏

dd:删除一行,也属于剪切的,只可以剪切一行
p:粘贴在光标所在位置的下一行
P:粘贴在光标所在位置的上一行
u:如果上次的操作有误,可以用u恢复一共可以恢复50次(距离上一次保存退出的结果为最初状态)
ctrl+r:如果上次恢复多了想回到上一步,就用ctrl+r
yy:复制 5yy复制五行
x:向后删一个字符
shift+x:向前删一个字符,也是可以加数字的
用v可以复制或者剪切从某个字符到某个字符的,点v然后移动光标选中需要复制或者剪切的内容,用yy是复制用x是剪切

编辑模式
i:在光标当前的地方开始编辑文档
I:在光标所在的行首开始编辑
o:从光标所在的行的下面一行开始编辑
O:从光标所在的行的上面一行开始编辑
a:在光标所在行的后一个字符开始编辑
A:在光标所在行的行末开始编辑

命令模式
查找文件格式:
/需要查找的内容
如:/dnsmasq 直接回车就可以高亮显示出匹配查找的内容,
按n 是查找下一个
按N 是往上查找

也可以用?查找需要的内容,n和N的用法和/相反

替换
:1,100s/bin/kylin/g
冒号开口
1,100是需要替换的行
s 是开始替换
/是分隔符是把需要替换的和替换的分开
g 是全局,如果不加的话只替换这篇文件查找到相匹配的第一个单词

:1$s/bin/kylin/g 是替换所有

如果文件中需要替换一个路径或者有特殊字符的需要转译或者换一个分割符把/换成#或者其他的也可以
这两种都是可以的
:1,$s/\/etc\/hosts/\/etc\/passwd/g
:1,100s#/etc/host#/etc/passwd#g

有时候保存退出或者退出的时候退不出去需要加!
:wq!
:q!
:x 也是保存退出
wq和x的区别:在更改时候时候保存退出是一样的,在进入一个文件的时候如果什么操作都没有做就直接保存退出的话wq是改Mtime的,x是不改Mtime的

显示行号
:set number
不显示行号
:set nounmber

不显示高亮
:nohl

vim 粘贴代码自动缩进导致全乱了

回复收藏

用vim打开一个空白文档,然后把已经复制的代码给粘贴进来,发现它有自动缩进功能,最终导致粘贴的文本一行比一行靠右,看起来乱成一团。比较快的解决办法是,在粘贴文档前,在命令行模式下,输入
:set noai nosi
然后按‘i‘ 进入编辑模式,再粘贴已经复制的代码内容,这样就不会自动缩进了。

有时候,这样的方法不好用,可以尝试这种:

:set paste

VIM介绍

标签:vim   复制   

原文地址:http://blog.51cto.com/huazi1991/2074063

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