打开文件,并快速定位文件
- vim +n FILE
- 可以实现在打开文件之后,直接位于文件的第n行
- vim + FILE
- 打开文件之后,位于文件的末尾
- 打开文件之后,定位至第一次被pattern匹配到的行首
- vim +/pattern FILE
编辑模式
- i:在当前光标所在字符前面,转为输入模式
- a:在打枊前光标字符后面,转为输入模式
- o:在当前光标所在行的下方,新建一行,并转化为输入模式
- O:在当前光标所在行的上方,新建一行,并转化为输入模式
- I:在当前光标所在行的行首,转换为输入模式
- A:在当前光标所在行的行尾,转换为输入模式
末行模式
很多sed 的command都能用
移动光标
- G:快速移动到文本末尾行
- gg:快速移动到文本首行
- h:向左移动光标
- l:向后移动光标
- j:向下
- k:向上
- 数字h:移动你输入的数字个字符
- w:以单词为单位移动,移动至下一个单词的词首
- e:跳至当前后下一个单词的词尾
- b:跳至当前或下一个单词的词首
行内跳转
0:绝对行首
^:行首的第一个非空白字符
$:绝对行尾
行间跳转
#G:跳转至第#行
G:最后一行
末行模式中,直接给出行号,回车即可
翻屏
ctrl+f:向下翻屏
ctrl+b:向上翻屏
ctrl+d:向下翻半屏
ctrl+u:向上翻半屏
删除单个字符
x:删除光标所在处的单个字符
#x:删除光标所在处及向后的共n个字符
删除命令
d命令更跳转命令组合使用:
#d跳转符号:#dw , #de , #db
dd:删除当前光标所在行
复制粘贴
粘贴
p:粘贴,若是整行,在光标所在处的下方,否则在后面
P:若是整行,在光标所在处的上方,否则在前面
赋值
y:用法同d
撤销
u:撤销前一次操作
#u:直接撤销最近的#次编辑操作
还原最近一次的撤销:ctrl+r
重复前一次的编辑操作(.)
可视化操作
v:按字符串选取
V:按矩形选取
vim打开多个文件
在vim中打开多个文件,vim first.txt second.txt
末行模式下
next:切换下一个文件
prev:切换上一个文件
last:切换最后一个文件
first:切换到第一个文件
qa:退出所有文件
分屏显示文件
ctrl+w,s:水平拆分窗口
ctrl+w,v:垂直拆分窗口
在窗口间切换光标
ctrl+w,上下左右箭头
分窗口显示多个文件
vim -o:水平分割显示
vim -O:垂直分割显示
将当前文件的部分内容另存为另外一个文件
末行模式下
w addr1,addr2w FILE
将另一个文件的内容填充到当前文件中
末行模式下
r FILE
跟shell交互
末行模式下
!command
显示行号
set nu:显示行号
set nonu:取消行号
设置vim 编辑器忽略或者区分大小写
set ic:忽略大小写(色图ignorecase)
set noic:不忽略大小写
设定自动缩进
set autoindent:设置自动缩进(或者set ai)
set noai:取消自动缩进
查找到的文本高亮显示
set hlsearch:设置高亮显示
set nohlsearch:取消高亮显示
语法高亮
syntax on;开启语法高亮功能
syntax off:关闭语法高亮功能
vim编辑配置文件
/etc/vimrc:全局的vim配置文件
~/.vimrc:对当前用户生效