VIM一些用法

hjkl 左下上右
b/B 向前移动一个单词
w/W 向后移动一个单词
e/E 向后移动一个单词
0 移动到第一个非空字母
^ 移动到行首

$ 移动到行尾


i/I insert
cc/C change
o/O 在下/上一行插入空行并开始编辑
r/R replace
s/S substitude
a/A append


~ 转换大小写
d/dd/D 删除
x/X 删除 当前/光标前 字符
p/P 将buffer中的内容放到光标后/前
y/yy/Y copy text
. 重复上一个命令
u/U undo
Ctrl+r redo
J 将两行合并成一行


(command)(number)(text object)
(number)(command)(text object)


Command 编辑命令,如c,d,y,
Text object 移动命令,如w,e
4dd, d4w, 5w, 2yy, d/info


Ctrl+f 向后翻屏(forward)
Ctrl+b 向前翻屏(backward)
Ctrl+d 向后翻半屏(down)
ctrl+u 向前翻半屏(up)


Shift+g 到最后一行


z enter 把当前行放到屏幕顶部
z. 把当前行放到屏幕中央
z- 把当前行放到屏幕底部


nH 光标移到屏幕顶部
M 光标移到屏幕中间
nL 光标移到屏幕底部
gg 光标移到屏幕第一行行首


+/ENTER 移到下一行行首
- 移到上一行行首


(/) 移动到句首/句尾(以.!?等做分隔)
{/} 移动到段首/段尾(以空行做分隔)
[[/]] 移动到章节的首/尾(troff)


G Go to(88G,145G)
Ctrl+G 显示当前行在文件中位置的比例


% 移动到匹配的括号


/ 向后搜索
? 向前搜索
n 重复上一个搜索
N 反方向重复上一个搜索


vim file1.txt file2.txt


:rew rewind
:n next
:prev previous
:args 显示所有文件列表


Ctrl+6 切换至上一个文件


与buffer结合
:160,224ya a
:pu a


vim –p file1.txt file2.txt


:tabn/gt 下一个标签
:tabp/gT 上一个标签
:tabnew 新建标签
:tabc 关闭当前标签
:tabo 关闭其它所有标签
:tabs 列出所有标签
:tabfirst 第一个标签
:tablast 最后一个标签
:tabm n 移动当前标签
:tabf /dir 搜索dir打开文件


同时在一个屏幕上显示多个文件
1:对比文件
2:copy和paste
3:参考其它文件


vim提供的多窗口:
纵向或者横向分屏


vim -o file1 file2 按文件数横向分屏
vim -o5 file1 file2 将屏幕横向分为5分


^w+r 对调上下窗口的位置
^w+x 对调左右窗口的位置

^w hjkl 上下左右移动
^w HJKL 将当前窗口移动到最旁边
:new ^ws :split 横向
:vnew ^wv :vsplit 新建窗口

^w +-= 上下调整窗口大小
^w<>| 左右调整窗口大小
^wT window变tab


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。