现在的位置: 首页 > 综合 > 正文

vim基本用法

2013年04月26日 ⁄ 综合 ⁄ 共 1445字 ⁄ 字号 评论关闭

编辑模式
输入i,I,a,A,o,O可进入插入模式
i在当前字符之前插入
I在行首插入
a在当前字符之后插入
A在行尾插入
o在当前行后新插入一行
O在当前行之前新插入一行

输入r,R可进入替换模式
r只替换光标所在的字符
R进入替换模式

一般模式
光标移动
h左移,l右移,j下移,k上移
-移动到上一行的非空格符处,+移动到下一行的非空格符处
ctrl+f下移一页,ctrl+b上移一页,ctrl+u上移半页,ctrl+d下移半页
0移动到行首,$移动到行尾
n<space>向右移动n个字符
H移动到屏幕最上一行,M移动到屏幕中间一行,L移动到屏幕最下一行
G移动到文件最后行,gg移动到文件的首行
nG移动到文件的第n行
n<enter>光标下移n行

搜索和替换
/word在当前光标之后搜索字符word
?word在当前广标之前搜索字符word
n搜索下一个,N搜索上一个
n,ms/word/replace/g将第n行到第m行之间的word替换为replace
:1,$s/word/replace/g将文件中所有word替换为replace
n,ms/word/replace/gc将第n行到第m行之间的word替换为replace,并在每次替换时给以确认

删除,复制,粘贴
x向后删除一个字符,X向前删除一个字符,若为nx,nX表示删除n个字符
dd删除当前行,ndd删除n行
d1G删除光标到第一行的所有数据
dG删除光标到最后一行的所有数据
d$删除本行光标后的数据
d0删除本行光标前的数据
c重复删除,如删除10行,10cj
yy复制光标当前行,nyy复制n行
y1G复制光标到第一行的所有数据
yG复制光标到最后一行的所有数据
y0复制本行光标前的数据
y$复制本行光标后的数据
p将已复制的数据到光标的下一行,P将已复制的数据到光标的上一行
J将光标所在行和下一行的数据结合成同一行
u恢复前一个操作
ctrl+r重做前一个操作
.对于重复删除,重复粘贴,可按下.

命令模式
:w保存
:w!强制保存
:q退出
:q!强制退出
:wq保存并退出
:wq!强制保存并退出
:e!将文件还原到初始状态
ZZ若文件未更改则不存储离开,若更改额存储后离开
:w filename将文件另存为filename
:r filename将文件filename的内容加载到光标处
:n,m w filename将第n行到m行之间的内容存储到filename中
:! command暂时离开vi并执行命令
:set nu显示行号
:set nonu不显示行号

块选择
v字符选择
V行选择
ctrl+v块选择
y复制反白的块内容
d删除反白的块内容

多文件编辑
vim filename1 filename2
:n编辑下一个文件
:N编辑上一个文件
:files列出vim打开的所有文件

多窗口
:sp [filename]在新窗口中打开文件filename
ctrl+wj,ctrl+wk光标在窗体中移动
ctrl+wq退出窗口

vim环境设置
:set nu/nonu设置是否显示行号
:set hlsearch/nohlsearch是指搜索内容是否反白
:set autoindex/noautoindex设置自动缩排
:set backup/nobackup设置自动存储备份
:set ruler设置显示状态行说明
:set showmode设置插入和替换状态
:set backspace=(012)当设置为2时按backspace可删除任意字符,若设置为0或1仅可删除刚刚输入的字
:set all显示所有环境参数
:syntax off|on是否根据程序相关语法显示不同的颜色

抱歉!评论已关闭.