微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

提高编辑效率的工具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),一次性替换所选内容

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐