xNIX/
vi 的一些常用命令及配置
- 发布
- 更新
- 字数
- 800
- 阅读
- 2 分钟
记下一些我可能会经常用到的一些命令。
vi 的一些常用命令
bash
# 显示行号
:set nu
# 取消显示行号
:set nonu
# 到行首
0
# 到行尾
$
# 到文件头
:1
# 到文件尾
:$
G
# 复制当前行
yy
# 粘贴
p
# 删除当前字符
x
# 删除 n 个字符
nx
# 撤销上一步操作
u
# 撤销当前行所有操作
U
# 重新加载文件
:e
# 强制重新加载文件
:e!
# 复制第126行至第130行到150行后
:126,130 co 150
# 复制第126行至第130行到文件最后
:126,130 co $
# 移动第126行到第130行的内容到第150行下
:126,130 m 150
# 删除当前行
dd
# 删除当前行及其后n-1行
ndd
# 删除一个单词
dw
# 删除 n 个单词
ndw
# 删除到行首
d0
# 删除到行尾
d$
# 在光标前插入
i
# 在当前行插入
I
# 在光标后
a
# 在当前行尾插入
A
# 在当前行之下新开一行
o
# 在当前行之上新开一行
O
# 修改当前字符,接着的字符是修改后的字符
r
# 进入覆盖状态
R
# 删除当前字符,然后进入插入模式
s
# 删除当前行,然后进入插入模式
S
# 从光标开始处向文件尾搜索 "keyword"
/keyword
# 从光标开始处向文件头搜索 "keyword"
?keyword
# 在同一方向重复上一次搜索
n
# 在反方向重复上一次搜索
N
# 将当前行中所有 "word1" 用 "word2" 替换
:s/word1/word2/g
# 将第10行至20行中所有 "word1" 用 "word2" 替换
:10,20s/word1/word2/g
# 将文件中所有的 "word1" 用 "word2" 替换
:g/word1/s//word2/g
# 批量为多行添加注释。在 Linux 中,文本每行的起始标志是 ^ ,结束标志是 $ 。
:10,20s/^/#/g
# 批量为多行添加注释。如果注释字符是 // ,则需要使用转义符,如下:
:10,20s/^/\/\//g
# 批量取消注释
:10,20s/^#//g
# 删除所有以 # 开头的行
:g/^#/d
# 删除所有以空格(\s代表空格)开头的行
:g/^\s/d
# 删除以空格#(.*代表多个)开头的行
:g/^.*#/d
# 删除空白行
:g/^$/d
# 删除由空格组成的行
:g/^\s*$/d另外,在某些系统中,没有预装 vi,但又不想使用那么重的 vim 的时候,可以安装 vim-tiny。
在通过 ssh 使用 vi 的时候,一般习惯使用鼠标右键粘贴剪切板中的内容,有时候不能生效,显示 VISUAL,这时可以在 vi 的命令模式输入:
text
set mouse-=a就可正常了。但第二次再进入的时候,又会失效了。这时可以在 ~ 下面增加一个 .vimrc 文件,内容如下:
text
if has('mouse')
set mouse-=a
endif这样今后就会一直生效了。
评论
正在载入评论…