文本的选择,对于编辑器来说,是很基本的东西,也很重要,特别是全选。可是用vim这么久了,现在才学会这个,并不是因为我很懒,实在是因为vim的命令太多了,想死记下来是不可能的,至少对我来说是不现实的。所以想到了一个折衷的方法,不去记,每当需要用到那个就学那个,然后把找到的解决办法记下来。
[code]
v
[/code]
从光标当前位置开始,光标所经过的地方会被选中,再按一下v结束。
[code]
V
[/code]
从光标当前行开始,光标经过的行都会被选中,再按一下V结束。
[code]
Ctrl + v
[/code]
从光标当前位置开始,选中光标起点和终点所构成的矩形区域,再按一下Ctrl + v结束。
选中全部的文本:
[code]
ggVG
[/code]
其中gg为跳到首行的行首
V进入行可视模式 (如果是小字的v,那么就是字可视模式,这样如果行尾不止一个字,那么就不能完全全选)
G跳到行尾
选中后就可以用编辑命令对其进行编辑,如
删除
[code]
d
[/code]
复制 (默认是复制到"寄存器)
[code]
y
[/code]
复制到系统剪贴板(也就是vim的+寄存器)
[code]
"+y
[/code]
从系统剪贴板粘贴
[code]
"+p
[/code]
----------------------------------------------------------------------------------------------------------------------------------------------------------------
一 移动
基本操作
hjkl
到顶部
gg
到底部
G
往上翻屏幕
ctrl + b
往下翻屏幕
ctrl + f
往右移动一个单词
w
往左移动一个单词
b
移动到当前行第一个非空字符
^
移动行尾
$
移动到对应括号
%
一 删除
删除一行
dd
删除多行
行数dd,例如2dd表示删除两行
删除单引号中的文字
di’
删除双引号中的文字
di”
删除单引号以及其中的文字
da’
删除单引号以及其中的文字
da”
删除光标到行尾
d $
删除光标到行首
d0
删除一个单词
dw
三 复制
复制一行
yy
复制多行
n yy,例如 2yy,复制两行
四 进入插入模式
i 在光标的字之前
a 在光标的字之后
o 光标的下一行
I 在光标的行首
A 在光标的行尾
O 在光标的上一行
五 搜索
:%s/xxx//gn 显示搜索出来xxx的个数
:%s/xxx/yyy/g 替换xxx为yyy
:10,20s/xxx/gn 显示10到20行出现xxx的个数
六 其他
分屏
:sp
显示行数
:set nu
撤销
u
重做
ctrl + r
本行字母大写
gUU
输入当前日期
!!date
缩进
选中文本后 > 或者 <
定位到文件头|尾
[[ 開頭
]] 結尾
[[^ 開頭第一個字符
]]$ 結尾最後一個字符