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

VI/VIM文本编辑器学习使用总结

时间:2015-09-02 19:02:00      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:vi/vim文本编辑器学习使用总结

1、vi(visual interface)/vim(visual interface improved)缩写说明,vim是vi的增强版本



2、它是一款模式化文本编辑器,分为三种模式:(编辑模式、输入模式、末端模式)

      ⑴编辑模式即命令模式:

      ⑵输入模式即插入模式:

      ⑶ 末端模式:



3、模式转换:

     ⑴从编辑模式切换到输入模式相关按键:

i(insert)光标所在位置的左侧插入字符
a(append)光标所在位置的右侧插入字符
o(new line)光标所在行下方新建一行
I光标跳转到光标所在行的行首插入
A光标跳转到光标所在行的行尾插入
O光标所在行上方新建一行

     ⑵从输入模式切换到编辑模式相关按键:

        按下:ESC键

     ⑶从编辑模式切换到末行模式相关按键:

        输入:(冒号)

     ⑷从末行模式切换到编辑模式相关按键:

        按下:ESC键

        连续按两下ESC键(快速切换)

      注:输入模式要切换到末行模式只能通过先切换到编辑模式再进入末行模式



4、vim打开方式

    ⑴直接键入vim命令打开

       

    ⑵vim filename打开

[root@VM_64_104_centos ~]# vi /etc/fstab
/dev/vda1            /                    ext3       noatime,acl,user_xattr 1 1
LABEL=lswap            swap                 swap       defaults 0 0
proc                 /proc                proc       defaults              0 0
sysfs                /sys                 sysfs      noauto                0 0
debugfs              /sys/kernel/debug    debugfs    noauto                0 0
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0
/dev/vdb             /data                ext3      noatime,acl,user_xattr 1 0

    ⑶vim +10 filename 打开此文件光标显示在第十行的行首,如果没有指定的这么多行,显示此文件最         后一行行首

[root@VM_64_104_centos ~]# vi  +5 /etc/fstab

    ⑷vim +/pattern  filename 打开此文件光标显示在第一次查找到指定模式内容的行首

[root@VM_64_104_centos ~]# vim  +/sysfs /etc/fstab

5、vim退出方式

   


:w 保存文件并继续编辑
:q有编辑操作不能退出,没有编辑操作可退出
:q!不保存强制退出
:qw保存退出
:qw!保存强制退出
:x类似qw!
:ZZ类似qw



6、光标跳转

  ⑴字符跳转

  

h左 3h:表示向左移动3个字符,以下类似
l
k
j

   ⑵单词间跳转


w跳至后一个单词的词首 3w:表示往后跳至后有个词的词首,以下类似
e跳至当前或后一个单词的词尾
b跳至当前或前一个单词的词首
  ⑶行内跳转


  

^跳转至行首的第一个非空白字符
0
跳转至绝对行首
$跳转至绝对行尾

  ⑷行间移动

   

G跳转至行尾,非绝对行尾
1G跳转至第一行
gg
跳转至行首,非绝对行首
GG跳转至行尾非绝对行尾

  ⑸句间和段落间移动


)
句尾
(句首
}段尾
{段首
7、编辑命令


   ⑴字符编辑、删除、粘贴、:

   

x
删除光标所在处的字符,3x表示删除光标所在字符在内的3个字符从左往右 xp:位置调换
r替换光标所在处的字符
d^删除光标所在位置至非绝对词首之间的字符
d$删除光标所在位置至非绝对词尾之间的字符
d0删除光标所在位置至绝对词首之间的字符
dd删除光标所在行
dw删除光标所在单词至后一个单词词首的内容
de删除光标所在单词至单词词尾的内容
db删除光标所在单词至单词词首的内容
3dd
删除包括光标所在行内的3行字符
p完整行:粘贴光标所在行的下一行            非完整行:粘贴光标所在行后面
P完整行:粘贴光标所在行的上一行            非完整行:粘贴光标所在行前面
yy复制光标所在行,y+pattern同上
c改变命令,用法如:cc表示删除光标所在行,等待输入,其它组合同上
u撤销命令,用法如:3u表示撤销前3次
ctrl+r恢复撤销操作
.点号表示重复前一次操作命令功能
ctrl+f向下翻页
ctrl+b向上翻页
ctrl+d向下翻半页
ctrl+u向上翻半页
vimtutorvim内建教程










8、末行命令模式

⑴地址、定界:start_pos,end_pos

   例如:1,$从第一行到最后一行

        1,100从第一行到100行

        2,+12 从第二行往后12行

        /etc/:第一次被此模式所匹配到的行;

        #,/etc/:从第n行开始到被此模式匹配结束的行

        /etc/,/test:从匹配到/etc/模式开始到被匹配到/test/结束

      后可跟编辑命令:d, y,w, r

⑵查找

  /PATTERN从上往下查询

  ?PATTERN从下往上查询

⑶查找替换

 :s/要查找的内容/要替换的内容/修饰符,修饰符(i:不区分大小写,g当前行所有被查找到的字符)如下例:

:s/etc/test/test/替换当前第一个被查找到的/etc/test为/test

:s/etc/test/test/g替换当前行所有被查找到的/etc/test为/test

:1,100s/etc/test/test/替换当前行到第100行中被查找到的第一个/etc/test为/test

:1,$s/etc/test/test/替换当前行到最后一行中被查找到的第一个/etc/test为/test

:1,$s/etc/test/test/g替换当前行到最后一行所有被查找到的/etc/test为/test

:%s@/etc/test@/test/替换当前所有行第一个被查找到的/etc/test为/test

:%s@/etc/test@/test/g 全局把/etc/test替换成/test

可以使用#或@等特殊字符来代替/

:%s@/etc/test@/test/g=:%s/\/etc/test/\/test/g

9、多文件模式

  ⑴多文件编辑模式

     vim test1,test2,test3

:first跳转到第一个编辑页面
:prev跳转到上一个页面
:last跳转到最后一个页面
:wqall保存退出所有
:q!all不保存退出所有

  ⑵单、多文件窗口分割

vi -o file1,file2,file3水平分割

vi -O file1,file2,file3垂直分割

各文件切换通过ctr+w来切换

   ⑶定制vim的某些工作特性:只能临时生效

     

 显示行号和禁用行号:set nu / set nonu

 括号匹配和禁用括号:set sm / set nosm

 自动缩进和取消缩进:set ai / set noai

 高亮搜索和取消高亮:set hlsearch / set nohlsearch

 语法着色和取消着色:syntax on / syntax off

 忽略大小写和不忽略:set ic / set noic

(2) 括号匹配

显示:set sm

禁用:set nosm

(3) 自动缩进:

set ai

set noai

(4) 高亮搜索

set hlsearch

set nohlsearch

(5) 语法着色

syntax on

syntax off

(6) 忽略字符大小写

set ic

set noic


本文出自 “小多哥” 博客,请务必保留此出处http://icestick8586.blog.51cto.com/9867871/1690888

VI/VIM文本编辑器学习使用总结

标签:vi/vim文本编辑器学习使用总结

原文地址:http://icestick8586.blog.51cto.com/9867871/1690888

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