vim介绍

   vim是一款Unix/linux平台下的文本编辑器.相对于其他编辑器,vim为使用者提供了很多的操作,以实现各种各样的功能.如果能把这些功能融汇贯通,使用者就可以大大提升文本编辑的效率.除了传统的文本编辑以外,很多人把它直接当作一款软件开发工具,来加速开发.vim就像原来的五笔打字一样,操作负责,上手困难,但如果学好了,是可以提高开发效率的.虽然现在各类IDE的功能都设计的比较完善了,所以vim的这方面的优势也比以前相对缩小了.但是作为一款经典老牌编译器,仍然有很多开发者热衷于使用它进行开发,可以预见,在未来很长一段时间内,仍然会有很多人使用vim在linux下开发程序.

 

vim的进入和退出

 

  在shell中输入vim filename,即可编辑filename.编辑完成以后,输入:wq,即可退出.

 

vim模式介绍

 vim共有三种基本模式:

  • 命令模式: vim的初始模式,在此模式下敲击键盘会被vim视为输入命令,很多新手使用vim时常常会犯试图在命令模式下输入内容的错误.命令模式可以实现很多基础操作,如输入,删除,撤销等.
  • 输入模式:进入输入模式以后,才能为文件添加内容.进入输入模式的方法包括在命令模式下敲击多种命令,如i,I,a,A等.
  • 底线命令模式:在命令模式下输入:,可以进入底线命令模式.相比命令模式,底线命令模式的能执行一些更加复杂的操作.

 三大模式之间的转换

  

 

 

 可视模式

   在三大模式之外,vim还有一个可视模式.可视模式便于选择文本,选择的文本被高亮显示,之后输入的命令,就是对这部分文字进行操作.可视化模式又分为三种:

    • 字符可视模式: 以字符为单位选中.
    • 行可视模式: 以行为单位选中.
    • 块可视模式: 以块为单位选中.该模式很适合对列进行操作,如删除多行注释.          

 

vim操作大全

 

vim操作技巧

1. 光标移动

命令 作用
H 将光标移动到屏幕顶行
M 将光标移动到屏幕中间
L 将光标移动到屏幕底部
h/← 将光标移动到前一个字符处
j/↓ 将光标移动到下一行
k/ 将光标移动到上一行
l/→ 将光标移动到后一个字符处
0/Home 将光标移动到行首
$/End 将光标移动到行尾
G 将光标移动到文件的最后一行
gg 将光标移动移动到文件的第一行
W/w 将光标移动到前一单词处
N/n 将光标移动到后一单词处
{ 将光标移动到一个文本段(文本中连续和行)的上一行
} 将光标移动到一个文本段的下一行
[[ 将光标移动到上一个代码块的开头
]] 将光标移动到下一个代码块的开头
( 将光标移动到上一个代码块的开头
) 将光标移动到上一个代码块的结尾

2. 插入,修改和删除

命令 作用
i 在当前光标处插入
I 在当前行首插入
o 在当前行下一行新起一行插入
O 在当前行上一行新起一行插入
a 在当前光标之后一个字符处插入
A 在当前行尾插入
cw 修改当前光标到单词尾部的所有内容,相当与删除并插入
C/cc 修改当前光标到行末的所有内容,相当与删除并插入
s 删除当前光标处的字符并插入
S 删除当前行并插入
x 删除字符
X 退格
D 删除从当前光标到行尾的所有内容
dd 删除当前行
dw 删除一个单词
dG 删除从光标开始到文档结尾的所有内容

 

3 复制和粘帖

命令 作用
Y 复制一行
yy 复制一行
P 在当前行前面新起一行并粘帖
p 在当前行后面新起一行并粘帖

 

4. 查找和替换

命令 作用
R 字符替换模式,从当前光标处逐个开始替换字符
r 字符替换模式,替换单个字符
/word 在文件中向下查找word
?word 在文件中向上查找word
n 向下查找,继续查找下一个
N 向上查找,继续查找下一个
f[ch] 在本行内向前查找地一个以ch开头的单词
F[ch] 在本行内向后查找地一个以ch开头的单词
:s/old/new 将当前行中的old换为new
:%s/old/new/g 将全文中所有的old全部换为new

5.组合命令

组合模式 作用
nComand n为数字,代表连续执行n次command,如10dd,就是连续删除10行,10yy,就是复制下面10行
n1,n2Command n1,n2是一个范围,代表在n1,n2这个范围内执行command命令

 

6. 其他

命令 作用
u 撤销
U 撤销行内命令
CTRL+r 反撤销
g~ 大小写转换
ZZ 保存并退出,同:wq
. 重复前一个动作
<space> 光标向前移动一个空格
<Enter> 光标向下移动一行

 

7. 可视模式

命令 作用
v 进入可视模式
V 进入可视行模式
CTRL+V 进入可视块模式

 

8. 输入模式

快捷键 作用
CTRL+N 关键字补全
ESC+o 光标跳转下一行

 

9.底部命令模式

命令 作用
:set nu/number 设置行号
:set nonu 取消行号
:syntax on 开启语法高亮显示
:syntax off 关闭语法高亮显示
:q 退出
:q! 强制退出
:w 保存
:w! 强制保存
:w newfile 另存为其他文件
 :wq 保存并退出
:wq! 强制保存并退出
:r 在当前文件中读入另一个文件的数据
:! command 离开vim,执行command命令