vim命令

vim

vi有三种模式:

(1)一般模式:进入vi的默认模式,能够进行复制、黏贴、删除等操作;
(2)编辑模式:从一般模式按下‘i’即可进入;
(3)命令行模式:从一般模式按下“:”、'?'、'/'即可进入;

注意:如果安装了vim后,输入vi后也是使用vim编辑器,我们输入alias后看到“alias vi='vim'”;

一般模式下常用操作命令:

Home:光标移到当前行的最左端

End:光标移到当前行的最右端

gg:光标移到全文第一行

G:光标移到全文最后一行

nG:移到第n行

/word:向下查找关键字word,n表示继续向下查找

?word:向上查找关键字word,n表示继续向上查找

:n,m/old/new/g:从第n行到第m行,将old替换为new

:n,$s/old/new/g:从第n行到最后一行,将old替换为new

u:撤销,类似windwos中的CTRL+z

x:向后删除一个字符

X:向前删除

D:删除光标位置到本行结尾

D0:删除光标位置到本行开头

de:删除光标处后面一个单词

db:删除光标处前面一个单词

dd:删除光标所在的行

yy:复制光标所在的行

p:粘贴到光标所在行的下一行

ctrl+r:重复前一个操作

移动

0:数字0,移动到光标所在行首

$:移动到光标所在行尾

插入

i 从光标处插入,不会覆盖后面的内容

a 从光标位置下一个字符处插入

A 从光标所在行的行尾处插入

o 从光标所在行的下一行插入新的一行

O 从光标所在行的上一行插入新的一行

r 替换光标处的字符

R 替换光标处 的字符,并保持,会覆盖后面的内容

删除

x 向后删除一个字符,类似【delete】

X 向前删除一个字符,类似【backspace】

dd 删除光标所在行

ndd:n为数字,从光标位置开始,向下删除n行

复制粘贴

yy 复制光标所在的那一行

nyy n为数字,从光标位置开始,向下复制n行

p 粘贴到光标位置的下一行

P 粘贴到光标位置的上一行

搜索检查

:a、bs/word1/word2/g a、b为行数,表示在a行到b行之间搜索word1,并替换为word2

:1、$s/word1/word2/g 从第一行到最后一行,查找word1并替换为word2

:1、$s/word1/word2/gc 从第一行到最后一行,查找word1并替换为word2,替换时会出现提示,给用户确认是否替换

n:重复前一个搜索的动作,向下搜索

N:向上搜索

保存

:wq 保存退出

:e! 将文件还原到未编辑状态

ZZ 保存退出

q! 强制退出不保存

:w 另存为

:r 编辑数据中,读入令一个文件的数据,并显示到当前光标位置的行的后面

:a、b w 将a行到b行之间的内容另存为

在编辑文件时,/tmp/.passwd.swp会生成缓存文件。

u : 复原撤销上一个操作

ctrl+r : 重复上一个操作

. : 重复上一个操作

:set nu 显示行号

:set nonu取消显示

全局显示行号:直接修改/etc/vimrc 写入 set nu并保存退出即可

当前用户显示:修改当前用户的vimrc文件添加set nu即可

将另一个文件内容填充到当前文件中

:r /path/to/somefile

在vim编辑过程中,可以执行命令

:! COMMAND

语法高亮开启/关闭

:syntax on/off

查找到的文本高亮显示

:set hlsearch

:set nosearch

总结:

gconf-editor # 配置编辑器

/etc/vimrc # 配置文件路径

vim +24 file # 打开文件定位到指定行

vim file1 file2 # 打开多个文件

vim -O2 file1 file2 # 垂直分屏

vim -on file1 file2 # 水平分屏

sp filename # 上下分割打开新文件

vsp filename # 左右分割打开新文件

Ctrl+W [操作] # 多个文件间操作 大写W # 操作: 关闭当前窗口c 屏幕高度一样= 增加高度+ 移动光标所在屏 右l 左h 上k 下j 中h 下一个w

:n # 编辑下一个文件

:2n # 编辑下二个文件

:N # 编辑前一个文件

:rew # 回到首文件

:set nu # 打开行号

:set nonu # 取消行号

200G # 跳转到200

:nohl # 取消高亮

:set autoindent # 设置自动缩进

:set ff # 查看文本格式

:set binary # 改为unix格式

ctrl+ U # 向前翻页

ctrl+ D # 向后翻页

%s/字符1/字符2/g # 全部替换

X # 文档加密

i 从光标处插入,不会覆盖后面的内容

a 从光标位置下一个字符处插入

A 从光标所在行的行尾处插入

o 从光标所在行的下一行插入新的一行

O 从光标所在行的上一行插入新的一行

r 替换光标处的字符

R 替换光标处 的字符,并保持,会覆盖后面的内容

x 向后删除一个字符,类似【delete】

X 向前删除一个字符,类似【backspace】

dd 删除光标所在行

ndd:n为数字,从光标位置开始,向下删除n行

复制粘贴

yy 复制光标所在的那一行

nyy n为数字,从光标位置开始,向下复制n行

p 粘贴到光标位置的下一行

P 粘贴到光标位置的上一行

:a、bs/word1/word2/g

a、b为行数,表示在a行到b行之间搜索word1,并替换为word2

:1、$s/word1/word2/g

从第一行到最后一行,查找word1并替换为word2

:1、$s/word1/word2/gc

从第一行到最后一行,查找word1并替换为word2,替换时会出现提示,给用户确认是否替换

保存

:wq 保存退出

:e! 将文件还原到未编辑状态

ZZ 保存退出

q! 强制退出不保存

:w 另存为

:r 编辑数据中,读入令一个文件的数据,并显示到当前光标位置的行的后面

:a、b w 将a行到b行之间的内容另存为

原文地址:https://www.cnblogs.com/xiaofeiweb/p/13451037.html