1、 . 命令
2、 * 命令
3、 cw 命令: (c:修改)会删除从光标位置到单词结尾间的字符,并进入插入模式。 eg: cw.copy1 即: 删除从光标位置到单词结尾间的字符,并插入 copy1 。
5、 db:按 db 命令删除从光标起始位置到单词开头的内容,但光标处的字符没有删除。再按一下 x 键就可以删除这个捣乱的字符。
6、 daw:可以把 daw 命令解读为“delete a word”,这样比较容易记忆。
7、 yyp :文本行的复制与粘贴。
ddp : 文本行的剪切与粘贴。
yiw : 复制光标处的单词。(p粘贴)
diw : 剪切光标处的单词。(p粘贴)
8、 <C-a> 和 <C-x> 命令:分别对数字执行加和减操作。在不带次数执行时,它们会逐个加减,但如果带一个次数前缀,那么就可以用它们加减任意整数。例如,如果我们把光标移到字符5上,执行 10<C-a>就会把它变成15。(如果光标不在数字上,那么 <C-a> 命令将在当前行正向查找一个数字,如果找到了,它就径直跳到那里。)
9、.f : (find) 查找。
10、R : (replace) 转到替换模式。
11、ggVG :全部选择。
gg 让光标移到首行,在vim才有效,vi中无效
V 是进入Visual(可视)模式
G 光标移到最后一行
选中内容以后就可以其他的操作了,比如:
d 删除选中内容
y 复制选中内容到0号寄存器
"+y 复制选中内容到+寄存器,也就是系统的剪贴板,供其他程序用
删除所有内容 :%d
. 当前行
%当前文件中的所有行
1 文件的第一行
$ 文件的最后一行
hjkl:
h:光标往左移动一个;
j:光标往下移动;
k:光标往上移动;
l:光标往右移动;
整段代码缩进:
<C-v>
进入块模式- hjkl选中相关行
- A
- 光标移到最开始(home键)
- tab键
- ESC退出
dt; : 删除当前位置到;之间的内容。(t:to)
nyy : 多行复制。(光标要在单词前)
yy : 单行复制。
多行复制粘贴:
方法一:(适合复制的行数较少的情况)
(1):n (光标移到第n行,即要复制的那行)
(2) nyy (复制n行)
(3) :n (光标移到要粘贴的那行)
(4) p或者P (p是在所在位置的后方黏贴,P是在所在位置前方黏贴)
方法二:(适合有大量行数的情况)
在normal模式下输入:开始行数,结束行数 co(py) 要黏贴的行数。
例如要将第5到10行黏贴到第15行后面可以这么写:5,10 copy 15 这个方法适合有大量的行数情况。
方法三:(最直观)
(1) shift+v进入可视模式
(2) 选中要拷贝的行
(3) 输入y复制
(4) 光标移到奥黏贴的位置 ( :n )
(5) 输入p或者P粘贴
代码多行注释和删除(代码多行缩进同样适用):
(1) 光标移到要注释的行首( :n )
(2) ctrl+v进入可视块模式
(3) 移动上下键选中要注释的行
(4) 输入I(大写i)
(5) 输入要注释的字符(eg: //)
(6) 输入两个esc,回到normal模式。
(7) 删除过程一样:先ctrl+v,选中要删除注释的行,输入x即可
如果要在很多行后面加相同的东西也可以用这个方法:ctrl+v,选中要添加的行,输入A,输入要添加的字符,输入两个esc回到normal模式。