提高编辑效率的工具vim
Posted yanranran
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了提高编辑效率的工具vim相关的知识,希望对你有一定的参考价值。
vi/vim命令的参数选项及说明
表7-22命令 |
说明 |
普通模式:移动光标的操作 |
|
G或(shift+g) |
将光标移动到文件的最后一行 |
gg |
将光标移动到文件的第一行,等价于1gg或1G |
0 |
数字0,将光标从所在位置移动到当前行的开头 |
$ |
从光标所在位置将光标移动到当前行的结尾 |
n<Enter> |
n为数字,<Enter>为回车键,将光标从当前位置向下移动n行。 |
ngg |
n为数字,移动到文件的第n行,如11gg可移动到第11行,可配合“:set nu”查看,同nG |
H |
光标移动到当前窗口最上方的那一行 |
M |
光标移动到当前窗口中间的那一行 |
L |
光标移动到当前窗口最下方的那一行 |
h或(←) |
光标向左移动一个字符 |
j或(↓) |
光标向下移动一个字符 |
k或(↑) |
光标向上移动一个字符 |
l或(→) |
光标向右移动一个字符 |
普通模式:搜索与替换操作 |
|
/oldboy |
从光标位置开始,向下寻找名为oldboy的字符串 |
?oldboy |
从光标位置开始,向上寻找名为oldboy的字符串 |
n |
从光标位置开始,向下重复前一个搜索的的动作 |
N |
从光标位置开始,向上重复前一个搜索的的动作 |
:g/A/s//B/g |
把符合A的内容全部替换为B,斜线为分隔符,可以用@、#等替代 |
:%s/A/B/g |
把符合A的内容全部替换为B,斜线为分隔符,可以用@、#等替代 |
:n1,n2s/A/B/gc |
n1、n2为数字,在第n1行和n2行间寻找A,用B替换 |
普通模式:复制、粘贴、删除等操作 |
|
yy |
复制光标所在的当前行 |
nyy |
n为数字,复制光标开始向下共n行 |
p/P |
p将已复制的数据粘贴到光标的下一行,P则为粘贴到光标的上一行 |
dd |
删除光标所在的当前行 |
ndd |
n为数字,删除从光标开始向下共n行 |
u |
恢复(回滚)前一个执行过操作 |
. |
点号。重复前一个执行过的动作 |
x |
向后删除字符 |
X |
向前删除字符 |
d1G |
删除当前行至第一行 |
dG |
删除当前行至最后一行 |
d0 |
删除当前光标文本至行首 |
d$ |
删除当前光标文本至行尾 |
进入编辑模式命令 |
|
i |
在当前光标所在处插入文字 |
a |
在当前光标所在下一个字符处插入文字 |
I |
在当前所在行的行首第一个非空格符处开始插入文字,和A相反 |
A |
在当前所在行的行尾最后一个字符处开始插入文字,和I相反 |
O |
在当前所在行的上一行处插入新的一行 |
o |
在当前所在行的下一行处插入新的一行 |
Esc |
退出编辑模式,回到命令模式中 |
命令行模式 |
|
:wq |
退出并保存 |
:wq! |
退出并强制保存,“!”为强制的意思 |
:q! |
强制退出,不保存 |
:n1,n2 w filename |
n1、n2为数字,将n1行到n2行的内容保存成filename这个文件 |
:n1,n2 co n3 |
n1、n2为数字,将n1行到n2行的内容拷贝到n3位置下 |
:n1,n2 m n3 |
n1、n2为数字,将n1行到n2行的内容挪至n3位置下 |
:!command |
暂时离开vi到命令行模式下执行command的显示结果!例如 :! ls /etc |
:set nu |
显示行号 |
:set nonu |
与set nu相反,取消行号 |
:vs filename |
垂直分屏显示,同时显示当前文件和filename对应文件的内容 |
:sp filename |
水平分屏显示,同时显示当前文件和filename对应文件的内容 |
I + # + Esc |
在可视块模式下(Ctrl + v), 一次性注释所选的多行,取消注释可用:n1,n2s/#/ /gc[t1] ,这里操作是一个通用的方法,#号可以换成别的操作,例如tab键,这样就是批量缩进 |
Del |
在可视块模式下(Ctrl + v),一次性删除所选内容 |
r |
在可视块模式下(Ctrl + v),一次性替换所选内容 |
以上是关于提高编辑效率的工具vim的主要内容,如果未能解决你的问题,请参考以下文章