您的位置:首页 > 运维架构 > Linux

Vim的简单用法

2014-04-25 10:52 176 查看
Vi是一种常见的文本编辑器
Vim 是Vi iMproved ,是vi文本编辑器的加强

Vi分为3个模式,分别为一般模式,编辑模式与命令行模式。
一般模式
直接用vi命令打开一个文件,就进入了一般模式(默认),在这个模式中可以移动光标,删除字符,复制或粘贴数据。
编辑模式
进入编辑模式后可以编辑文本内容
命令行模式
进行读取,保存,替换,输入命令等操作

常用命令
字符移动
←或者h 光标向左移动一个字符
↑或者k 光标向上移动一个字符
↓或者j 光标向下移动一个字符
→或者l 光标向右移动一个字符
如果想一次移动多个字符,可以使用nX,n代表字符数,X代表方向。例如向右移动10个字符,就是10→或者10l
+ 光标移动到非空格字符的下一行
- 光标移动到非空格字符的上一行
n[space] 光标向后移动n个字符
0或者[Home] 光标移动到这一行的最前面字符处
$或者[End] 光标移动到这一行的最后面字符处
H 光标移动到这个屏幕最上方一行的第一个字符
M 光标移动到屏幕的中央那一行的第一个字符
L 光标移动到这个屏幕最下方一行的第一个字符
G 光标移动到这个文件的最后一行
nG 光标移动到这个文件的第n行
gg 光标移动到这个文件的第一行
N[Enter] 光标向下移动n行
J 将光标所在行与下一行的数据结合成一行

翻页操作
[Ctrl]+[f] 向下移动一页,相当于[PageDown]
[Ctrl]+[b]向上移动一页,相当于[PageUp]
[Ctrl]+[d] 向下移动半页
[Ctrl]+[u] 向上移动半页

查找与替换操作
/word 向下查找名称为word的字符串
?word 向上查找名称为word的字符串
n 重复前一个查找的操作
N 反向进行前一个查找的操作
:n1,n2s/word1/word2/g 在n1行与n2行之间寻找word1字符串并将word1替换为word2
:1,$s/word1/word2/g 从第一行到最后一行查找word1并将其替换为word2
:1,$s/word1/word2/gc 从第一行到最后一行查找word1并将其替换为word2,并提示确认信息

复制,粘贴和删除
yy 复制光标所在的第一行
nyy 复制光标所在的向下n
y1G 复制光标所在行到第一行的所有数据
yG 复制光标所在行到最后一行的所有数据
y0 复制光标到该行行首的所有数据
y$ 复制光标到该行末尾的所有数据
p 将已经复制的数据在光标下一行粘贴
P 将已经复制的数据在光标上一行粘贴
x 向后删除一个字符,相当于[Del]
X 向前删除一个字符,相当于[Backspace]
nx 连续向后删除n个字符
dd 删除光标所在那一整行
ndd 删除光标所在的向下n
d1G 删除光标所在到第一行的所有数据
dG 删除从光标所在到最后一行的所有数据
d$ 删除从光标所在处到该行的最后一个字符
d0 删除从光标所在处到改行的第一个字符
c 重复删除多个数据,例如向下删除5行.5cj

其他操作
u 复原前一个操作
[Ctrl]+r 重复上一个操作
. 也是重复上一个操作

一般模式切换到编辑模式的方法
i 进入插入模式(Insert mode) 从目前光标所在处插入
I 进入插入模式,从目前所在行的第一个非空格符开始插入
a 进入插入模式,从目前光标所在的下一个字符处插入
A 进入插入模式,从光标所在行的最后一个字符处开始插入
o 进入插入模式,在目前光标所在的下一行插入新的一行
O 进入插入模式,在目前光标所在的上一行插入新的一行
r 进入替换模式(Replace mode) 替换光标所在的字符一次
R 进入替换模式,替换光标所在的文字,直到按下Esc为止
Esc 退出编辑模式,回到一般模式

命令行模式常用命令
:w 将编辑的数据写入硬盘文件中
:w! 将数据强制写入,跟文件权限有关
:q 退出vi
:q! 强制退出不保存文件
:wq 保存后离开
:wq! 强制保存后离开
ZZ 若文件没有变动,则不保存离开;若文件已经变动,则保存后离开
:w [filename] 另存为filename
:r [filename] 将filename数据加入到光标所在行后面
:n1,n2 w [filename] 将n1到n2行的内容保存成filename这个文件
:!Command 暂时离开vi ,执行shell命令
:set nu 设置行号
:set nonu 取消设置行号

块选择
v 字符选择,将光标经过的地方反白选择
V 行选择,将光标经过的行反白选择
[Ctrl]+v 块选择,用矩形方式选择
y 将反白的地方复制
d 将反白的地方删除

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

多窗口功能
:sp[filename] 打开一个新窗口,如果有filename,则在新窗口打开这个新文件,否则两个窗口显示同一个文件内容
[ctrl]+w+↑光标移动到上面窗口
[ctrl]+w+↓光标移动到下面窗口
[ctrl]+w+q 退出当前窗口

vim环境设置在~./vimrc中编辑
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux vim