vim的使用技巧
安装,查找软件包
[root@St1sk ~]# which vi
/bin/vi
[root@St1sk ~]# rpm -qf /bin/vi
vim-minimal-7.2.411-1.6.el6.x86_64
[root@St1sk ~]# rpm -qf `which vi`
vim-minimal-7.2.411-1.6.el6.x86_64
[root@St1sk ~]# rpm -qf `which vim`
vim-enhanced-7.2.411-1.6.el6.x86_64
[root@St1sk ~]cd mnt
[root@St1sk mnt]#rpm -ivh /mnt/Packages/vim-minimal-7.2.411-1.6.el6.x86_64.rpm
[root@St1sk mnt]# rpm -ivh /mnt/Packages/vim-enhanced-7.2.411-1.6.el6.x86_64.rpm
enhanced是vi的扩展版,比mini版强大
vim编辑器模式切换:
命令模式、命令行模式、编辑模式
命令模式:
字符操作
a当前字符之后插入
i当前插入
o向下插入一行
A行尾插入
I行首插入
O向上插入一行
x向后删除一个字符(r修改单个字符)
X向前删除一个字符
u撤销一步;U撤销所有的操作
行的操作
Home 或$ 行首、End 或^行尾,
end键或dd键删除一行 Ndd 删除N行
yy复制一行 Nyy复制N行
p将复制的行粘贴
P行上粘贴
词操作
dw删除一个词,删除时要将光标移动到这个词的行首。另外,如光标不在行首,则删除光标之后该词的字母
yw复制一个词
块操作
大D或d+$删至行尾d+^删至行首
y+$复制至尾y+^复制至首
esc退出当前模式
v模式
1、ctrl+v进入编辑模式
2、向下或向上移动光标
3、把需要注释的行的开头标记起来
4、然后安大写的I
5、在插入注释符,比如“#”
6、在按Esc,就会全部注释了。
ctrl+v-->I-->#-->Esc
删除多行注释:
ctrl+v进入编辑模式;向下或向上移动光标;选中注释部分;然后按d,就会删除注释符号
VIM命令行模式操作
:w保存save
:q并没有进行任何修改,退出quit
:q!修改了,不保存,强制退出
:wq 保存并退出
:wq!强制保存并退出 #例如/etc/shadow文件修改的就属于只读文件必须wq!
:sh后可以进行命令输入
:se ic(ignorcase)忽略大小写
:se noai 自动缩进
小技巧:r---->修改单个字符,不需要进入编辑模式比如QQ远程时避免Esc键冲突致退出正在远程的桌面
替换
:%s/this/that/ #每一行的第一个this替换成that
df#将文本中所有的this替换成that
:1,5s/this/that/g #替换第一行到第五行中匹配内容
:s/this/that/gc 替换时询问
:31,37 co 37第31到37行进行拷贝,拷贝到第37行
:38,44 s/xx/xxx/然后 第几行到第几行进行替换,和上面一般连用
:set nu/nonu #显示行号取消行号
/正向查找:/target n往下查找,N往上查找
:noh去掉高亮显示 或随便查找一组没有的字符
:w /root/newfile 会讲当前编辑的文件另存到/root目录下名称为newfile
:e~install.log操作会直接打开文本进行编辑
:e!不保存不退出
:r /etc/filesystems读入其他文件的内容,并将其复制到当前光标所在位置
:!ls 调用系统命令
如果不小心打开目录,直接退出就可以了。
给/etc/grub.conf加密码的时候可以使用:r!grub-md5-crypt然后输入两次密码,回车即可读入密码
(位于password --md5 之后的加密后的密码)
vim中定位到某行:
gg 定位到行首
G 定位到最后一行,行首
vim打开多个文件:
#vim -O file1 file2 ctrl+ww 在两个文件间切换。
#大写的O左右显示;小写的上下显示
自定义vim
#vim ~/.vimrc
输入:
set nu
set history=1000----------指定上下翻页时候的命令数目
备注:
当打开文本后出现提示如下的时候,只需删除同目录下的隐藏文件即可,rm -rf 1.txt.swp (1为文件名)