专注Java教育14年 全国咨询/投诉热线:444-1124-454
星辉LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 详解Linux Vim命令

详解Linux Vim命令

更新时间:2020-12-29 17:51:22 来源:星辉 浏览1014次

Vim是 Unix/Linux 系统最好的文本编辑器,它的强大不逊色于任何最新的文本编辑器,由于对Unix及Linux系统的任何版本,Vim编辑器是完全相同的,因此Vim命令也是相同的。但对于一些Linux系统的初级使用者来说还是有一定的操作难度的。为了普及大家对Linux Vim编辑器的使用,本文我们来详细地介绍各种Linux Vim命令,帮助我们快速上手Vim编辑器。

 

1.模式

命令模式(Command mode)

首次启动 vim,便是命令模式

输入模式时候,按 ESC 进入

输入模式(Insert mode)

按 i 、o、a 键进入

窗口左下角有 -- INSERT -- 的字样

底线命令模式(Last line mode):在命令模式下按下 : (英文冒号)

 

2.文件操作

vim a.txt 打开或新建文件,并将光标置于第一行首

vim a.txt b.txt 编辑多个文件

vim +n a.txt 打开文件,并将光标置于第 n 行首(n 为数字)

vim + a.txt 打开文件,并将光标置于最后一行首

vim +/pattern a.txt 打开文件,并将光标置于第一个与 pattern 匹配的字符串处

vim -r a.txt 在上次正用 vim 编辑时发生系统崩溃,恢复文件

:e <path/to/file> 打开一个文件

:e! 放弃修改,重新载入该文件

:q 退出 vim

:q! 退出不保存, :qa! 强行退出所有正在编辑的文件(即使有修改)

:w 保存当前文件

:wq , ZZ 保存退出

:saveas <path/to/file>, :w <path/to/file>另存为

:bn 和 :bp 当同时打开多个文件,使用这两个命令来上下切换文件

:r <path/to/file> 把 <path/to/file> 文件内容插入「光标」所在行后面

:! <command> 暂时离开 vim 到指令行模式下执行 command 的显示结果

:r ! <command> 将命令 command 的输出结果插入「光标」所在行后面

 

3.光标操作

h, j, k, l 相当于键盘 ← ↓ ↑ → 移动一个字符

nh, nj, nk, nl 则按对应方向移动 n 个字符

n回车键 向下移动 n 行

H, M, L 光标移至「屏幕」的 顶行 中间行 尾行

当前行:

0, $ 到 行头, 行尾

w, e, b 对应向 右, 右, 左 移动一个单词(首/尾)

fa, 3fa 到 第一, 第三 个为 a 的字符处, fb, fs 等以此类推,F 相反方向

ta, 3ta 到 第一, 第三 个为 a 的前字符处, tb, ts 等以此类推,T 相反方向

10空格键 向后面移动 10 个字符

 

整个内容

gg, G 到内容 顶部 尾部

10G 移动到内容的第 10 行

 

段落

{, } 移动到段落的 开头 结尾

(, ) 移动到句子的 开头 结尾

 

4.屏幕操作

翻页:ctrl+f, ctrl+d 屏幕对应向 下 下 移动 一页 半页

翻页:ctrl+b, ctrl+u 屏幕对应向 上 上 移动 一页 半页

翻行:ctrl+e, ctrl+y 屏幕对应向 上 下 移动一行

 

5.窗口操作

:split 分割一个窗口

:split a.c 为另一个文件 a.c 分隔窗口

:n split a.c 为另一个文件 a.c 分隔窗口,光标移至 n 行

ctrl+w 窗口切换

:close 关闭当前窗口

 

6.文本操作

插入

i, I 对应在光标前, 当前行首 插入

a, A 对应在光标后, 当前行尾 插入

o, O 对应在当前行之下, 上 新开一行插入

r 替换当前字符

R 替换当前字符及其后的字符,直至按 ESC 键

删除

s 删除光标所在字符,然后进入输入模式

S, cc删除光标所在行,然后进入输入模式

x, X 对应向 后, 前 删除一个字符

10cw 删除 10 个字符,然后进入输入模式

dnh, dnl 向 左, 右 删除 n 个字符

dw 删除一个单词(删除光标位置到下一个单词开始的位置)

dnw 删除 n 个单词

 

nC 删除当前行及其后 n-1 行,然后进入输入模式

dd 删除一行

d$, do 删至行尾, 行首(n

ndd 删除 n 行(从当前行算起)

:n1, n2 d 删除 n1 行到 n2 行之间的内容

dnj, dnk 向 下, 上 删除 n 行

J 删除行尾的换行符

 

搜索

/word, ?word 当前行向下, 上 寻找一个名称为 word 的字符串

n, N 向下, 上 重复前一个搜寻的动作

:n1,n2 s/word1/word2/g n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2

 

:%s/word1/word2/g 全文寻找 word1 字符串,并将该字符串取代为 word2

:%s/word1/word2/gc 全文寻找 word1 字符串,并将该字符串取代为 word2,取代前需确认提示

 

复制/粘贴

yy 复制当前行

nyy 复制当前行向下 n 行(20yy:复制 20 行)

y1G 复制当前行到首行的所有数据

yG 复制当前行到尾行的所有数据

y0 复制光标所在的那个字符到该行行首的所有数据

y$ 复制光标所在的那个字符到该行行尾的所有数据

p, P 粘贴至当前行的下一行, 上一行

np 粘贴文本 n 次

:n1,n2 co n3 n1~n2行的内容拷贝到第 n3 行下

:n1,n2 m n3 n1~n2行的内容移至到第 n3 行下

 

撤销/重做

u 复原前一个动作

ctrl+r 重做上一个动作

. 重复前一个动作

 

自动提示

ctrl+n 或 ctrl+p,在 insert 模式下

未输入,则有提示菜单

输入一个词的开头,则可自动补齐功能

 

7.Visual 模式

v 进入 -- VISUAL -- 模式

V 进入 -- VISUAL LINE -- 模式

块操作(批量插入字符)

 

ctrl + v 进入块选择模式

移动光标选中需要操作的行

大写的 I 进入「行首」插入模式输入 (如果批量删除,可以按 d)

输入完,按两下ESC

 

8.行方式命令

即底线命令模式,列一些常用命令:

:n1,n2 co n3 n1~n2行的内容拷贝到第 n3 行下

:n1,n2 m n3 n1~n2行的内容移至到第 n3 行下

:n1,n2 d 删除 n1 行到 n2 行之间的内容

:n1,n2 w!command 将文件中 n1 行至 n2 行的内容作为 command 的输入并执行之

:n1,n2/^/注释符/g  n1~n2 行加注释符, 例如::10,20s#^#//#g 在 10~20 行添加 // 注释

:n1,n2/^注释符//g  n1~n2 取消注释符, 例如::10,20s#^//##g 在 10~20 行取消 // 注释

 

9.宏

q[a-z] 把操作记录在寄存器 [a-z](命名),q 停止录制

@[a-z] 在当前光标处执行宏[a-z]

@@ 在当前光标处执行最新录制的宏

reg 显示当前定义的所有的宏

 

例子:

vim a.txt 新建 a.txt, 写入 1

qa 开始录制

Yp 复制行

ctrl+a 增加 1

q 停止录制

@a 1 下面写下 2

@@ 2 下面写下 3

10@@ 创建新的 10 行,并把数据增加到 13.

 

10.配置

配置文件在 /usr/share/vim/vimrc,这是系统级的 vimrc 配置文件,为了保证 vim 的正常运行,一般并不会修改这个文件,而是应该在自己的用户目录下(~ 下)创建一个新的用户级 vimrc 文件。

底线命令模式

:set ruler,set noruler 显示/不显示标尺

:set hlsearch 高亮显示查找到的单词

:set nohlsearch 关闭高亮显示

:syntax on 语法高亮

:set nu 显示行号

:set nonu 不显示行号

:set ignorecase 搜索时忽略大小写

:set smartcase 搜索时匹配大小写

:set ruler 显示光标位置坐标

:set hlsearch 搜索匹配全高亮

:set tabstop=8 设置tab大小,8为最常用最普遍的设置

:set softtabstop=8 4:4个空格,8:正常的制表符,12:一个制表符4个空格,16:两个制表符

:set autoindent 自动缩进

:set cindent C语言格式里面的自动缩进

 

了解并掌握linux Vim命令是掌握并熟练运用vim编辑器的必要途径。以上Linux系统中Vim编辑器的各种命令的详细介绍,为大家一一罗列了出来,希望能够对初用Linux系统的小伙伴起到帮助,能够快速掌握的小伙伴也不要骄傲哦,在本站的Linux教程中还有许多精彩的Linux知识等你来学哦。


提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>