一三九、vim使用介绍
键盘图
模式切换
移动光标
命令 | 说明 |
---|
shift 6() | 至本行第一个非空字符 |
shift 4($) | 至本行末尾 |
w | 至下一个单词、标点开头 |
W | 至下一个单词开头 |
b | 至上一个单词、标点开头 |
B | 至上一个单词开头 |
ctrl + b | 上翻一页 |
ctrl + f | 下翻一页 |
ctrl + d | 向下翻半页 此比较有用 |
ctrl + u | 向上翻半页 此比较有用 |
gg | 文件开头 |
shift + g | 文件末尾 |
num + shift + g | 跳到第num行 |
“ | 两个单引号 此命令相当有用, 它移动光标到上一个标记处, 比如用 gd, * 等查找到某个单词后, 再输入此命令则回到上次停留的位置. |
‘. | 一单一点 此命令相当好使, 它移动光标到上一次的修改行. |
`. | 一倒引一点 此命令相当强大, 它移动光标到上一次的修改点. |
进入插入模式
命令 | 说明 |
---|
i, I 进入输入模式(Insert mode): | i 为『从目前光标所在处输入』, I 为『在目前所在行的第一个非空格符处开始输入』。 (常用) |
a, A 进入输入模式(Insert mode): | a 为『从目前光标所在的下一个字符处开始输入』, A 为『从光标所在行的最后一个字符处开始输入』。(常用) |
o, O 进入输入模式(Insert mode): | 这是英文字母 o 的大小写。o 为『在目前光标所在的下一行处输入新的一行』; O 为在目前光标所在处的上一行输入新的一行!(常用) |
r, R 进入取代模式(Replace mode): | r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止;(常用) |
[Esc] 退出编辑模式,回到一般模式中(常用) | |
文本编辑(删除、复制、剪切、粘贴、撤销)
命令 | 说明 |
---|
x | 删除当前字符 |
3x | 删除当前字符和之后的两个字符 |
dd | 删除(剪切)当前那行 |
5dd | 删除(剪切)当前那行和后面的4行 |
dw | 当前字符到下一个字符开始 |
d$ | 删除(剪切)当前字符到行尾 |
d0 | 删除(剪切)当前字符到行首 |
d^ | 删除(剪切)当前字符到下一个非空字符 |
dG | 删除(剪切)当前行到文件末尾 |
d20G | 删除(剪切)当前行到20行 |
yy | 复制当前那行,用法同dd |
p | 粘贴到光标之后 |
P | 粘贴到光标之前 |
u | 取消上一次操作 |
ctrl +r | 恢复上一次操作 |
j | 合并当前行和后面的一行,用法同dd |
查找替换
命令 | 说明 |
---|
/key(?key) | 向下(上)查找key |
:%s/oldkey/newkey/gc | 在全局范围内用newkey替换oldkey |
: | 进入底行模式 |
% | 范围%代表全局,1,3代表1到3行 |
s | 替换操作 |
/oldkey/newkey/ | 用新词替换老词 |
g | 代表行内全局 |
编辑多个文件
命令 | 说明 |
---|
vim file1 file2 … | 编辑多个文件 |
:n | 切换到下一个文件 |
:N | 切换到上一个文件 |
:buffer 1 | 切换到第一个文件 |
:e file | 新编辑一个文件 |
:r file | 在当前文件中插入一个文件 |
:w file | 将文件保存为一个文件 |
技巧
命令 | 说明 |
---|
r | 替换模式,替换当前光标所在位置的一个字符。虽然你同样可以i进入插入模式,然后删掉那个字符,再输入需要的字符,但这种操作是鼠标流思维方式。替换是一个可重复操作,多用没坏处。 |
cw | change word可以删除从当前位置到一个单词的结尾,并进入插入模式。这种操作常用于修改一个变量。比如对于:int count=0;希望把count改成cnt,那么当光标位于c字符处的时候,按cw可直接删除count,并进入插入模式。然后直接继续输入cnt即可。 |
caw | change a word可以删除当前光标所在位置的单词。对于int count=0;的例子,如果此时光标在count中间某处,比如u处,直接键入caw可以达到同样的效果。所以caw更强大一些。 |
c$、c^ | 举一反三,可以猜到c$是从当前位置删除到行尾,并进入插入模式。 |
ci” | change inside 可以用于修改当前位置附近,在相同配对的中的内容。比如对于const char *str=hello world;。当在双引号中间的任意位置键入ci"可以直接清空字符串,并继续输入新的希望的字符串。 |
ci(、ci[ | 举一反三change inside ( change inside [。 |
cit | 这个比较特殊,可以直接编辑匹配的xml标签中的内容!经常编写html的童鞋可以熟悉一下。 |
yi" | yank inside 猜猜是啥意思?类似ci只是把编辑操作编程复制操作,因为y是复制!是不是很强大。 |
ya" | yank around “ 复制整个字符串,包括双引号。 |
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/376038.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!