首页 > 代码库 > linux基础之vim的使用
linux基础之vim的使用
1. vi的介绍
基本上vi共分为三种模式:
命令模式(command mode)
以vi打开一个文件就直接进入命令模式。在这个模式中,可以使用[上下左右]按键来移动光标,删除字符来处理文件内容,也可以复制粘贴文件数据。
插入模式(insert mode)
在命令模式下输入:[i Ia A o O]等任何一个字母就会进入插入模式。这时候就可以进行文件编辑工作了。
i:在当前光标所在处前输入。
I:在当前光标所在处行首输入。
a:在光标所在处后输入
A:在光标所在处行尾输入
o:在光标所在处的下一行增加一个空白行
O:在光标所在处的上一行增加一个空白行
命令行模式(command-line mode)
在命令模式当中,输入[:/ ?]任何一种,就可以进行命令行模式。
那么如何退出vi呢?
如果是在插入模式,那么要敲入【ESC】键,输入
:q!强制退出,即不保存退出
:wq保存退出
:wfilename 保存文件
:x保存并退出
如果是在命令行模式下,直接输入ZZ,即为保存退出.
2. vi使用
1. 按键说明
命令模式下的按键说明:
移动光标 |
h或 向左箭头键 光标向左移动一个字符 |
j 或 向下箭头键 光标向下移动一个字符 |
K或 向上箭头键 光标向上移动一个字符 |
l 或 向右箭头键 光标向右移动一个字符 |
如果想要进行多次移动,例如向下移动30列,可以使用30j的组合按键 |
【Crtl】+【f】 屏幕向下移动一页,相当于【page Down】按键 |
【Crtl】+【b】 屏幕向上移动一页,相当于【page up】按键 |
【Ctrl】+【d】 屏幕向下移动半页 |
【Ctrl】+【u】 屏幕向上移动半页 |
n【space】 光标向右移动n个字符 |
0 移到光标所在行的行首 |
$ 移到光标所在行的行尾 |
G 移动这个文件的最后一行 |
nG 移动到这个文件的第n行 |
gg 移动到这个文件的第一行 |
N【enter】 光标向下移动n行 |
w 跳至下一个单词的词首 |
b 跳至前一个单词的词首 |
e 跳至当前或下一个单词的词尾 |
搜索与取代 |
/key 向光标之下寻找key这个关键字 |
?key 向光标之上寻找key这个光键字 |
使用 /key 配合n或N是非常有帮助的。
n 向下搜寻下一个关键字
N 向上搜寻下一个关键字 |
:n1,n2s/word1/word2/g 取代 |
:1,$s/word1/word2/g 从第一行到最后一行寻找word1,并用word2取代
s/ / /gci
g:锁定所有查找的内容
c:人机交互
i:忽略大小写
其中,为了避免转义的问题,/可以用@,#等符号来代替。 |
删除,复制与粘贴 |
X,x 在一行中,x为向后删除一个字符,X为向前删除一个字符 |
#x #为数字,连续向后删除#个字符 |
dd 删除光标所在的一行 |
#dd 删除光标所在向下#行
d0 d^ d$ dG等 |
yy 复制光标所在的行 |
#yy 复制光标所在的向下#行 |
P 粘贴 |
u 撤销 |
【Crtl】+【r】 撤销此前的撤销 |
2. vim可视化模式
在命令模式下输入v,可进行手动全选模式。
V:选定光标所在的当前行
选定之后,之前的编辑命令都可以使用
3. 打开多个文件
:next 下一个
: prev 上一个
:first 第一个
:last 最后一个
为了方便比较,可以使用–o或-O选项
vim –o :横屏比较
vim –O:竖屏比较
怎样在两个文件中移动光标呢?
横屏比较 使用【Crtl】+w 上下箭头
竖屏比较 使用【Crtl】+w 左右箭头
在同一个文件中,可以使用分屏来比较不同之处
使用【Crtl】+w,s 水平分割
使用【Crtl】+w,v 垂直分割
4. vim的环境设定参数
:set nu 设置行号 |
:set nonu 取消行号 |
:set ai 自动缩进 |
:set ic 忽略大小写 |
:set sm 显示与之匹配的符号 |
:syntax on 语法高亮 |
:set hlsearch 搜索高亮 |
:set autoindent 自动缩进 |
本文出自 “凡尘客栈” 博客,请务必保留此出处http://fckz001.blog.51cto.com/11636733/1906261
linux基础之vim的使用