vi: visual interface
vim: vi improved
vim的模式
编辑模式(默认模式)------i a o 输入模式
i:在当前光标所在字符前面转换为输入模式
a.在当前字符后面转换为输入模式
o:在当前光标所在行下方,新建一行,并转为输入模式
I:在当前光标所在字符的行首,转换为输入模式
O:在当前光标所在行上方,新建一行,并转换为输入模式
A:在当前字符行的行尾,并转为输入模式
全屏幕编辑器,模块化编辑器
vim + file打开文件光标到最下方
vim +initab
1.打开文件
vim +#:打开文件,并定于与第#行
vim +:打开文件,定位至文件最后一行
vim +/pattern:打开文件,定位于第一次被pattern匹配到的行的行首
2.关闭文件
末行模式:
:wq保存退出
:q不保存退出,已经修改则:q!强制退出,不保存
:w存盘
:wq=:x
:w!强制存盘
编辑模式退出:大写ZZ连敲,退出
3.移动光标
a.逐个移动,h左 L右
j下 k上
#h:移动n个字符
b按照单词移动
w:移动到下一个单词的词首
e:跳到当前单词的词尾或者下一个单词的词尾
b:跳到当前或者前一个单词的词首
#w:跳#个单词
行内移动:
o:快速到行首(绝对行首,空白字符也算)
^:快速到行首(第一个非空白字符)
$:绝对行尾
行间跳转:
#G跳到第#行
G:跳到最后一行
末行跳转::6跳到第6行
翻屏:ctrl+f 向后一屏
ctrl+b向上一屏
ctrl+d向下一屏
ctrl+u向上一屏
删单个字符:x:删单个字符,光标后的
#x:删光标所在及向后的共#个字符
删除命令:d
d命令与跳转命令组合使用
#d条转服,删跳转符后#个
#dw #de #db dd:删除当前光标所在行
末行模式::1,20d删1到20行
.当前行 $最后一行 +#向下#行
vim的粘贴:p如果删除的或者复制的整行内容则粘贴到所在行下方
如果删除或者复制的内容为非整行,则粘贴到光标所在字符的后面
P:如果删除或者复制的整行内容,则粘贴到光标所在行下方
如果删除后者复制非整行内容,则粘贴到光标所在行下方
vim复制:y
用法同d命令
vim现删除后转换为输入模式c
用法同d命令
vim替换:r(只能单个字符替换)
R(进入替换模式)
vim的撤销操作:u:撤销前一次操作(可以多次使用,连续u则连续撤销)
#u:直接撤销最近的#次(最多50次,内存中只保留50次)
vim的撤销最近一次操作ctrl+r
重复前一次操作:.
vim可视化模式:
v:接字符选取的可视化
V:按照矩形块选取
vim查找:
/pattern从头到尾选取
?pattern从尾部到头部
vim查找并替换:在末行模式下使用s命令
addr1,[email protected]@[email protected]
%:全文查找替换
%s /ftp
使用vim打开多个文件 vim file1 file2
默认显示第一个文件
:prev到上一个文件(切换)
:next到下一个文件(切换)
:last切换到最后一个文件
:first切换到第一个文件
退出:q退出当前文件
:qa退出打开的所有文件
如何分屏显示一个文件:
ctrl+w松开 再按s水平拆分窗口
ctrl+w+箭头切换窗口
ctrl+w松开按v垂直拆分窗口
分窗口多个文件:
vim -o 1.t 23.t 水平拆分显示
-O 垂直拆分显示
将当前文件中部分内容另存为另一个文件
末行模式:r /file1将file填充进来
跟shell交互:进入末行模式---
:!comand
如::!ls
高级话题:显示或取消行号::set nu和:set nonu
显示忽略或区分大小写::set ic 和:set noic
设定自动缩进: :set autoindent/ai :set noai
不高亮显示::set nohlsearch
语法高亮::syntax off/on
vim的配置文件:
/etc/vimrc(对所有用户有效)
~/.vimrc(对用户生效)
vimtutor帮助文档
总结vim的使用方法