首页 > 代码库 > vim 简介

vim 简介

Virtual Interface

VI iMproved

 

vim模式:

1. 命令模式

2. 输入模式

3. 末行模式

 

模式转换

编辑-->输入

i : 在当前光标所在字符的前面,转为输入模式

a : 在当前光标所在字符的后面,转为输入模式

o : 在当前光标所在行的下方,新建一行,并转为输入模式

 

I : 在当前光标所在字符的行首,转位输入模式

A : 在当前光标所在字符的行尾,转位输入模式

O : 在当前光标所在行的上方,新建一行,并转为输入模式

 

打开文件

vim +# :打开文件,并定位到第#

vim  +:打开文件,并定位到最后一行

vim +/PATTERN : 打开文件,并定位到第一次被PATTERN匹配到的行的行首

 

关闭文件:

:q 退出

:w 保存

:wq 保存退出

:x 保存退出

:q! 强制不保存退出

:wq! 强制保存退出

:x! 强制保存退出

insert模式下,ZZ :保存退出

 

移动光标:

1.逐字符移动

h

l:右

j:下

k:上

#h:移动#个字符

2.按单词移动

w:移至下一个单词的词首

e:跳至当前或下一个单词的词尾

b:跳至当前或前一个单词的词首

#w:一致性跳#个单词

3.行内跳转

0:跳至行首(绝对行首)

^:行首的第一个非空白字符

$:绝对行尾

4. 行间跳转

#G:跳转至第#

G:最后一行

M:本屏中间一行

H:本屏第一行

末行模式下,直接给出行号即可

 

翻屏

ctrl+f:向下翻一屏

ctrl+b:向上翻一屏

ctrl+d:向下翻半屏

ctrl+u:向上翻半屏

 

删除但个字符

x:删除光标所在处的但个字符

#x:删除光标所在处之后的#个字符

 

删除命令:d

d命令跟跳转符命令组合使用

#d跳转符:#dw#de#db

dd:删除光标所在行

#dd:删除当前光标所在行内以下#

末行模式下:StartADD,EndADD

  m,nd:删除mn

  .:表示当前行

  $:最后一行

  +=:向下的#

 

粘贴命令p

p:如果删除的或复制的为整行内容,则粘贴至光标所在行的下方,如果复制或删除的内容为非整行,则粘贴到光标所在行的后面

P:如果删除的或复制的为整行内容,则粘贴至光标所在行的上方,如果复制或删除的内容为非整行,则粘贴到光标所在行的前面

 

复制命令y

用法同d命令

 

修改:先删除内容,再转换为输入模式

c:用法同d命令

 

替换:r

r:替换单个字符

R:进入替换模式

 

撤销编辑操作:u

u:撤销前一次的编辑操作,连续u命令可撤销此前n次操作

#u:撤销最近#次编辑操作

 

撤销最近一次撤销操作

ctrl+r

 

重复前一次的编辑操作

.:重复前一次操作

 

可视化模式

v:按字符选取,移动光标选中光标经过的字符,按d删除选中的字符,按y复制

V:按整行选取

 

查找

/Strings:从前向后查找匹配的字符串

?Strings:从后向前查找匹配的字符串

n:向下跳转查找到的字符

N:向上跳转查找到的字符

 

查找并替换

在末行模式下使用s命令

ADDR1ADDR2|%s/PATTERN/String/gi

ADDR1,ADDR2:地址范围

PATTERN:查找内容

string:替换成的内容

g:全局替换,不加g替换查找到的第一个字符串

i:忽略大小写

%:表示全文

/:分隔符,可以使用其他符号

 

vim编辑多个文件

vim file1 file2 file3

:next 切换至下一个文件,可使用n替换

:prev 切换至前一个文件,可使用N替换

:last 切换至最后一个文件

:first 切换至第一个文件

退出

:qa 全部退出

 

分屏显示文件

ctrl+w,s水平拆分窗口

ctrl+w,v 垂直分割窗口

在窗口间切换光标

ctrl+w,上下左右箭头

退出

:qa 关闭所有窗口

 

分窗口编辑多个文件

vim -o :水平分割显示

vim -O:垂直分割显示

 

将当前文件的部分内容另存为另一个文件

末行模式下使用w命令

:ADDR1,ADDR2w /path/to/somewhere

 

将另外一个文件的内容填充在当前文件中,合并两个文件

:r /path/to/somewhere

 

shell交互

:! COMMAND

 

高级话题

显示获取消显示行号

显示

:set nu[mber]

取消

:set nonu[mber]

忽略大小写

:set ignorecase

:set ic

不忽略大小写

:set noignorecase

:set noic

设定自动缩进

:set autoindent

:set ai

取消自动缩进

:set noautoindent

:set noai

高亮显示查找到的文本(默认)

:set hlsearch

取消高亮显示查找到的文本

:set nohlsearch

语法高亮

:syntax on

关闭语法高亮

:syntax off

 

配置文件

全局级别

/etc/vimrc

用户级别的

~/.vimrc

 

vim导师

vimtutor

vim 简介