(四)文本编辑器Vim/Vi,文本编辑器vimvi


 目录

  • 常用命令
  • 扩展应用

 

本系列先前的随笔位于新浪博客

 

  Vi和Vim都是文本编辑器,不同的是Vim是Vi的升级版本,它不仅兼容Vi的所有指令,而且还有一些新的特性在里面。

  Vim/Vi是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器,它的作用是建立、编辑、显示文本文件。

  Vim/Vi没有菜单,只有命令

 

  Vim/Vi的三种工作模式:

 

一、常用命令

  1、插入命令

插入命令
命令 作用
a(append) 在光标后附加文本
A 在本行行末附加文本
i(insert) 在光标前插入文本
I

在本行行首插入文本

即光标移至行首并进入插入模式

o 在光标下插入新行
O 在光标上插入新行

 

  2、定位命令 

定位命令
命令 作用
h方向左键 光标左移一个字符
j方向下键 光标下移一行
k方向上键 光标上移一行
l方向右键 光标右移一个字符
$ 光标移至行尾
0 光标移至行首
H(High) 光标移至屏幕上端
M(Middle)  光标移至屏幕中央
L(Low) 光标移至屏幕下端
:set nu 显示行号
:set nonu 取消显示行号
gg 光标到第一行
G 光标到最后一行
nG:n 光标到第n行

 

   3、删除命令

删除命令
命令 作用
x 删除光标所在处字符
nx 删除光标所在处后n个字符
dG 删除光标所在行起到文件末尾的内容
D 删除从光标所在处到行尾
:n1,n2d 删除指定范围(n1~n2)的行

 

  4、复制和剪切命令

复制和剪切命令
命令 作用
yyY 复制当前光标所在行
nyynY 复制当前光标所在行起n行
dd 剪切当前光标所在行
ndd 剪切当前光标所在行起n行
p(paste) 粘贴在当前光标所在行下面
P 粘贴在当前光标所在行上面

 

  5、替换和撤销命令 

替换和撤销命令
命令 作用
r(replace) 替换光标所在处字符
R 从光标所在处开始替换字符,按Esc结束
u(undo) 撤销上一步操作

 

  6、搜索和替换命令

搜索和替换命令
命令 作用
/string

从前向后搜索指定字符串string

n跳到下一个指定字符串出现的位置

N跳到上一个指定字符串出现的位置

搜索时忽略大小写:set ic

:%s/old/new/g 全文替换指定字符串(用new替换old)
:n1,n2s/old/new/g 在一定范围(n1~n2)内替换指定字符串

 

   7、保存和退出命令

保存和退出命令
命令 作用
:w 保存修改
:w new_filename 另存为指定文件
ZZ:wq 保存修改并退出
:q! 不保存修改退出

:wq!(只有管理员root

文件的所有者可以使用)

保存修改并退出

可忽略文件的只读属性

 

 

二、扩展应用

1.在当前文件末尾导入其他文件的内容  :r 文件名

 

2.在Vim/Vi中执行命令  :! 命令

 

3.在当前文件末尾导入命令执行的结果(上面两个命令结合)  :r !命令  

  范例:常用于把当前时间导入到文件末尾用来标识最后一次修改时间  :r !date

 

4.定义快捷键  :map 快捷键 触发命令

  范例:定义快捷键ctrl+p在行首插入#注释本行  :map ^P I#<ESC>   (^P并不是直接打出来的,而是先按ctrl+v,再按ctrl+p,I为在行首插入,#为注释符号,在Shell脚本和Linux系统配置文件中#表示注释,<ESC>表示从插入模式返回到命令模式)

       定义快捷键ctrl+b删掉行首字符(多用于取消注释)  :map ^B 0x  (0把光标移至行首,x删除这个字符)

     定义快捷键ctrl+e在当前光标前插入我的邮箱地址  :map ^E iupc_eniac12@163.com<ESC> 

 

  

 

Vim/Vi博大精深,初学者使用会觉得十分复杂,操作效率低下,但当你完全熟悉了它之后,你就会觉得它简直就是个神器,使用它可以极大的提高我们码代码的效率。

这是一个你不需要使用鼠标,不需使用小键盘,只需要使用大键盘就可以完成很多复杂功能文本编辑的编辑器,不然,Visual Studio也不就会有vim的插件了。学习vim就像学弹钢琴一样,一旦学会,受益无穷。

 

另外这里还有一篇关于Vim比较不错的文章,想要深入学习可以看一看

http://mp.weixin.qq.com/s?__biz=MjM5OTMxMzA4NQ==&mid=209275637&idx=2&sn=1b6e279e33a0e161ac94458808497eb2

相关内容