1.获取帮助
WHAT PREPEND EXAMPLE ~
Normal mode command (nothing) :help x
Visual mode command v_ :help v_u
Insert mode command i_ :help i_<Esc>
Command-line command : :help :quit
Command-line editing c_ :help c_<Del>
Vim command argument - :help -r
Option ' :help 'textwidth'
查看错误信息 (nothing) :help E37
2.命令
编辑命令:
a 添加字符
A 从行尾添加字符
i(Insert) 插入
I 从行第一个字符开始插入
x(效仿打字机) 删除一个字符
d(delete) 删除
dd 删除一整行
J 删除回行符(合并两行) 合行后中间加一个空格
gJ 删除回行符,合行后首尾空格不去除
u(undo) 撤销上一步操作
U(undo) 撤销一整行操作(此操作算为一次操作,可用u撤销)
Ctrl+R(redo) 从做撤销的操作
i 在当前位置插入
o 在光标的下面插入新行
O 在光标的上面插入新行
r 替换光标下的字符,加上计数器表示连续替换多个字符为一个字符
R 替换整行字符
. 重复上一次更改
p 粘贴默认寄存器中的内容,可用计数器
y 复制选中内容到默认寄存器
~ 切换当前字母大小写
g~ 切换字母大小写
gU 将字母切换成大写
gu 将字母切换成小写
g~~ g~g~ 切换整行字母大小写
gUU gUgU
guu gugu
> 在visual模式下将选中的内容右移,前面填充空格
< 在visual模式下将选中的内容左移,前面的空格删除
:{range}read patch 在当前行的下面插入文件patch中的内容,如果指定了range 则
插入到range中最后的一行下面,这里的range可以用特殊的行号0
:{range}read !{command} 将命令的输出插入到文件中
gq 格式化所选文本
:[range]m[ove] {address} 把选中的文本移动到address下面
:[range]co[py] {address} 把选中的文本复制到address下面
等价的:
x=dl
X=dh
D=d$
C=c$
s=cl
S=cc
位移命令:
在普通模式下 hjkl 代表 左下上右
w 往后跳一个单词,光标停在第一个字母上
b 往前挑一个单词,光标停在第一个字母上
e 往后跳一个单词,光标停在最后一个字母上
ge 往前跳一个单词,光标停在最后一个字母上
$ 跳到行尾,可用计数器向下跳多行
0 跳到行首算上空白
^ 跳到行尾不算上空白,加上计数器没有效果
f 向后查找字符,用计数器表示查找到第几个匹配字符
F 向前查找字符,用计数器表示查找到第几个匹配字符
t
T
; 跳到下一个匹配的字符
, 跳到上一个匹配的字符
% 匹配括号 前面加数字表示跳转到文件的百分比
G 前面加数字跳转到明确的行,不加数字表示跳转到文件的最后一行
gg 跳到文件的第一行
H(Home) 跳到屏幕的最上方一行
M(Middle) 跳到屏幕的中间一行
L(Last) 跳到屏幕的最下面一行
CTRL-U(up) 将屏幕向上滚动半个屏幕的文本
CTRL-D(down) 将屏幕向下滚动半个屏幕的文本
CTRL-E 将文字向上提一行
CTRL-Y 将文字向下拉一行
CTRL-F 将屏幕向下滚动一屏
CTRL-B 将屏幕向上滚动一屏
CTRL-] 跳转到标签内部
CTRL-T 跳转到父标签
CTRL-O 跳转到更老的jump点
CTRL-I 跳转到更新的jump点,与<TAB>功能相同
` 跳转到某标签的光标位置
' 跳转到某标签的行首
文本对象:(很像计数器+位移命令)
a 包括前后空格
i 不包括前后空格
w 单词
s 句子
p 段落
其他命令:
------------------多文件-------------------------
vim one.c two.c three.c 通过VIM同时编辑三个文件
:next 编辑下一个文件 可以用计数器 :2next
:wnext 保存并编辑下一个文件
:args 显示打开VIM时编辑的文件列表
:previous 编辑上一个文件 可以用计数器
:wprevious 保存并编辑上一个文件
:first 编辑第一个文件(没有w版本)
:last 编辑最后一个文件(没有w版本)
:args *.txt 从新编辑文件列表,未保存文件将提示,可以用通配符,可以用强制符
-------------------多窗口----------------------------------
vim -o one.txt two.txt 水平多个窗口打开多个文件
vim -O one.txt two.txt 垂直多个窗口打开多个文件
:all 为列表中的文件各开一个窗口(可vertical)
:split 上下分割当前窗口,在上面打开新窗口
:vsplit 左右分割窗体,在左边打开新窗口
:split two.c 在新窗口编辑文件
:3split alpha.c 设定新窗口的高度
:new 创建新窗口创建新文件在当前窗口上面
:vnew 创建新窗口创建新文件在当前窗口左面
:vertical new 等同于vnew
:vertical 加在任何分割窗口的命令前面,使其垂直分割
CTRL-W w 窗口切换
CTRL-W CTRL-W 和CTRL+W w一样
:close 关闭窗口
:only 关闭其他所有窗口
CTRL-W + 增大窗口,可以用计数器
CTRL-W - 减小窗口,可以用计数器
15CTRL-W _ 指定当前窗口高度为15
CTRL-W _ 最大化当前窗口
CTRL-W h move to the window on the left
CTRL-W j move to the window below
CTRL-W k move to the window above
CTRL-W l move to the window on the right
CTRL-W t move to the TOP window
CTRL-W b move to the BOTTOM window
CTRL-W H move window to the far left
CTRL-W J move window to the bottom
CTRL-W K move window to the top
CTRL-W L move window to the far right
:qall 退出所有窗口
:wall 存储所有文件
:wqall 存储并退出所有文件
:qall! 放弃存储退出所有文件
------------------------文件对比--------------------------
vimdiff a.c b.c 对比两个文件的差别
zc 关闭折叠
zo 打开折叠
-----------------------tab栏------------------------------
gT 反向的gT
:tab split 通过一个新tab打开当前文件
:tab help
:tabonly 除了当前的tab其它的都关闭
-----------------------GUI选项----------------------------
:set guioptions 设置GUI的选项 T代表toolsbar l代表左滚动条
:behave xterm 把鼠标设置成Xterm模式
:behave mswin 把鼠标设置成mswin模式
'mouse' in which mode the mouse is used by Vim
'mousemodel' what effect a mouse click has
'mousetime' time between clicks for a double-click
'mousehide' hide the mouse while typing
'selectmode' whether the mouse starts Visual or Select mode
:set selectmode+=mouse 通过鼠标选择文本进入选择模式,选择模式下输入字符会
使用新字符替换之前选中的字符。更多嵌入式、Linux学习联系**Q754634522,
深圳-广州-郑州-长沙均有学习分点 |