欢迎访问我的个人博客网站:http://www.yanmin99.com/
一、vim模式
- vim模式介绍
编辑模式(命令模式)
输入模式
末行模式
替换模式(正常模式下,按R进入)
二、模式转换
-
1、编辑-->输入
i: 在当前光标所在字符的前面,转为输入模式;
a: 在当前光标所在字符的后面,转为输入模式;
o: 在当前光标所在行的下方,新建一行,并转为输入模式;
I:在当前光标所在行的行首,转换为输入模式
A:在当前光标所在行的行尾,转换为输入模式
O:在当前光标所在行的上方,新建一行,并转为输入模式;
-
2、输入-->编辑
ESC
-
3、编辑-->末行
:
-
4、末行-->编辑
ESC, ESC
三、打开文件
vim +# :打开文件,并定位于第#行
vim +:打开文件,定位至最后一行
vim +/PATTERN : 打开文件,定位至第一次被PATTERN匹配到的行的行首
四、关闭文件
-
1、末行模式关闭文件
:q 退出 :wq 保存并退出 :q! 不保存并退出 :w 保存 :w! 强行保存 :wq --> :x
-
2、编辑模式下退出
ZZ: 保存并退出
五、移动光标
-
1、逐字符移动
h: 左
l: 右
j: 下
k: 上
-
2、以单词为单位移动
w: 移至下一个单词的词首
e: 跳至当前或下一个单词的词尾
b: 跳至当前或前一个单词的词首
-
3、行内跳转
0: 绝对行首 ^: 行首的第一个非空白字符 $: 绝对行尾
-
4、行间跳转
gg: 第一行 G:最后一行
六、翻屏幕
Ctrl+f: 向下翻一屏
Ctrl+b: 向上翻一屏
Ctrl+d: 向下翻半屏
Ctrl+u: 向上翻半屏
ctrl+e: 向下滚动一行
ctrl+y: 向上滚动一行
七、剪切和复制、粘贴
-
1、剪切(删除)
[n]x: 剪切光标右边n个字符,相当于d[n]l。
[n]X: 剪切光标左边n个字符,相当于d[n]h
d$ or D: 删除(剪切)当前位置到行尾的内容。
d[n]w: 删除(剪切)1(n)个单词
d[n]l: 删除(剪切)光标右边1(n)个字符。
d[n]h: 删除(剪切)光标左边1(n)个字符。
d0: 删除(剪切)当前位置到行首的内容
[n] dd: 删除(剪切)1(n)行。
:m,nd<cr> 剪切m行到n行的内容。
d1G或dgg: 剪切光标以上的所有行。
dG: 剪切光标以下的所有行。
-
2、复制
y: 复制在可视模式下选中的文本。
yy or Y: 复制整行文本。
y[n]w: 复制一(n)个词。
y[n]l: 复制光标右边1(n)个字符。
y[n]h: 复制光标左边1(n)个字符。
y$: 从光标当前位置复制到行尾。
y^: 从光标当前位置复制到行首。
y0: 从光标当前位置复制到行首。
:m,ny<cr> 复制m行到n行的内容。
y1G或ygg: 复制光标以上的所有行。
yG: 复制光标以下的所有行。
3、粘贴
p: 在光标之后粘贴。
P: 在光标之前粘贴。
八、查找、替换
-
1、查找
/something: 在后面的文本中查找something。
?something: 在前面的文本中查找something。
/pattern/+number: 将光标停在包含pattern的行后面第number行上。
/pattern/-number: 将光标停在包含pattern的行前面第number行上。
n: 向后查找下一个。
N: 向前查找下一个。
-
2、替换
:s/old/new - 用new替换当前行第一个old。
:s/old/new/g - 用new替换当前行所有的old。
:n1,n2s/old/new/g - 用new替换文件n1行到n2行所有的old。
:%s/old/new/g - 用new替换文件中所有的old。
:%s/^/xxx/g - 在每一行的行首插入xxx,^表示行首。
:%s/$/xxx/g - 在每一行的行尾插入xxx,$表示行尾。
所有替换命令末尾加上c,每个替换都将需要用户确认。 如:%s/old/new/gc,加上i则忽略大小写(ignore)
九、排版
-
1、基本排版
<< 向左缩进一个shiftwidth
>> 向右缩进一个shiftwidth
:ce(nter) 本行文字居中
:le(ft) 本行文字靠左
:ri(ght) 本行文字靠右
十、快速编辑
-
1、改变大小写
~: 反转光标所在字符的大小写。
可视模式下的U或u:把选中的文本变为大写或小写
-
2、替换
r: 替换光标处的字符,同样支持汉字。
R: 进入替换模式,按esc回到正常模式
-
3、撤销、重做
[n] u: 取消一(n)个改动。
:undo 5 -- 撤销5个改变。
:undolist -- 你的撤销历史
-
4、可视化模式
v: 按字符选取
V:按矩形选取
十一、配置文件
/etc/vimrc 针对所有用户
~/.vimrc 针对当前用户
十二、高级话题
-
1、显示或取消显示行号
:set nu
:set nonu
-
2、查找到的文本高亮显示或取消
:set hlsearch
:set nohlsearch
-
3、语法高亮
:syntax on
:syntax off
-
4、显示忽略或区分字符大小写
:set ic
:set noic