欢迎访问我的个人博客网站: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