Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >学习vim有这一篇就足够了

学习vim有这一篇就足够了

作者头像
小闫同学啊
发布于 2020-07-10 03:36:33
发布于 2020-07-10 03:36:33
1.1K00
代码可运行
举报
文章被收录于专栏:小闫笔记小闫笔记
运行总次数:0
代码可运行

❝今日分享:Don't allow your rituals to become ruts. -- Todd Henry ❞

vi/vim 的重要性不言而喻,比如登录服务器操作。那么如何掌握呢?看这一篇足矣。更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选』

❝因为小闫同学最近迷上了 vim,正在使用并打算以后也用其彻底替代 Pycharm 等编辑工具,所以才有了此文。 ❞

1.介绍

vi/vimLinux 上内置的一款文本编辑器,就如同 Windows 上的笔记本工具一样。

要想使用它,先要了解它的三种模式:「命令模式」「输入模式」「末行模式」(也被称为底线命令模式 Last line mode)。命令模式可以操作一些快捷键,比如滚屏操作,定位操作等;输入模式就是编辑模式,可以自由的打字输入;末行模式可以输入一些命令,来达到预期效果。

使用 vi/vim 打开一个文件时,默认就是「命令模式」;在命令模式下输入 i 时,便进入了「输入模式」;在输入模式下按 esc 键时,又会返回命令模式。在命令模式下,按 : (也就是按shift + ;)时,会看到光标在窗口底部,此时进入了「末行模式」,在 : 后便可以输入命令。更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选』

vi 是老版本文本编辑器,vim 现在成为了主流,他俩命令一样,只是 vim 扩展插件丰富,支持的功能更多而已。本文以常用的 vim 为例进行说明。 ❞

2.操作

打开一个文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vim test.txt

❝输入上述命令会在当前目录下寻找并打开 test.txt 文件,如果没有,则在当前目录下新建一个 test.txt 文件。 ❞

2.1 命令模式

❝1.以下内容全为快捷键,直接按即可,不会有什么显示。 2.注意区分大小写。 3.打开文件默认进入的就是命令模式,输入模式或者末行模式下按 esc 键进入命令模式 ❞

  1. 「控制光标」H是左;J 是下;K 是上;L 是右。

❝可以使用方向键 (←↓↑→)控制,但是通常不这么做,因为程序员的双手一般都放在字母区域,去按方向键,再回到字母区域所需时间太长。使用 hjkl ,标准打字姿势中右手完全可以操作,方便快捷。 ❞

  1. 「滚屏操作」:需要与 Ctrl 键配合使用,向上滚动半屏是 Ctrl + u ,向下滚动半屏是 Ctrl + d。当然为了快速操作,还有滚动一屏:向上滚动一屏 Ctrl + b ,向下滚动一屏 Ctrl + f

❝为了记忆,滚动半屏可以看做是 up/down ,分别是 u/d;滚动全屏可以看做 back/forword,分别是 b/f

  1. 「移动到行首或行尾」:这个快捷键一定要记忆,超级方便。

0 :它是数字0。可以快速移动光标到所在行的行首。

$ :英文输入下,按 shift 和数字键 4 即可。可以快速移动光标到所在行行尾第一个非空字符下。

^ :英文输入下,按 shift 和数字键 6 即可。可以快速移动光标到所在行,「第一个非空字符」处。因为敲代码时总有缩进,当然希望到这一行代码的第一个字母,而不是这一行行首的空格了。

  1. 「其他移动光标的操作」

G :到文件最后一行。如果想要到指定的哪一行可以输入行号,再输入 G 。(注意:是大写的 G)比如到 67 行,输入 67 + G

❝到指定行是我最喜欢的功能。当然需要配合显示行号使用,显示行号会在末行模式处讲。 ❞

gg :到文件第一行。

>> :文本向右移动

<< :文本左移

  1. 「删除操作」

x :删除光标后一个字符

X :(大写)删除光标前一个字符

d :删除键

dd :删除光标所在行。如果想要删除指定多少行,先输入数字,再输入 dd 即可,比如删除往下的 37 行内容(包含光标所在行),输入 37 dd

d0 :删除光标前所有内容

D :删除光标后所有内容

daw :删除光标所在单词(「超级常用」

配合可视模式选中一些内容,再按 d 就可以删除这些内容了。

  1. 「可视模式」v 按字符移动光标选择内容,V (大写) 按行上下移动选择内容。
  2. 「撤销」u 撤销一步操作,Ctrl + r 反撤销。
  3. 「复制粘贴」y 是复制,p 是粘贴。配合可视模式,选中内容后,按 y 即可复制,按 p 粘贴。yy 是复制光标所在行。更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选』

❝注意:如果是复制一行内容,粘贴时会向下粘贴一行;如果是复制几个字符,会向光标后粘贴。「只针对当前文件有效」,也就是退出当前文件后,复制的内容不在了。 ❞

  1. 「重复操作」. 重复上一步操作
  2. 「替换操作」

r 后再按要替换的字母。如将 n 替换为 m :将光标移动到字母 n 下,然后按 r ,再按 m 即可。

R 后,再按要替换的字母,替换后,光标会移动到后一个字符,可以再次执行替换操作,不必一直按 r

  1. 「进入输入模式」

i:插入光标前一个字符

a:插入光标后一个字符

I:插入行首

A:插入行尾

o:向下新开一行,插入行首

O:(大写)向上新开一行,插入行首

2.2 输入模式

输入模式下,不能使用快捷键,可以正常打字或者使用方向键控制光标。按 Esc 键进入命令模式。更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选』

2.3 末行模式

在命令模式下,按 : 进入末行模式。退出末行模式按 esc 键,即可进入命令模式。

* 退出

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 保存并退出
:wq
# 直接退出
:q
# 强制退出
:q!
  1. 显示行号
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
:set nu
  1. 查找
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
:/要查找的内容

n 查找下一个;按 N 查找上一个。

  1. 高亮显示查找内容
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
:set hlsearch
  1. 替换
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 末行模式下,将当前文件中的所有abc替换成123
:%s/abc/123/g

# 末行模式下,将第一行至第10行之间的abc替换成123
:1, 10s/abc/123/g

❝1.%表示整个文件;1, 10表示1到10行范围内 2.s 表示替换 3.g 表示全局 ❞

3.总结的一些骚操作

1.要查找光标所在单词,直接按下面的快捷键:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
*

❝也就是按 shift + 键盘字母区上方数字键8 ❞

2.如何快速选中一个单词:先把光标移动到该单词下方,然后按 b 移动光标到单词首字母,按 v 进入可视模式,再按 e 选中当前单词,即 bve。选中之后就可以按 y 复制,或者按 d 删除了。更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选』

3.我想把内容复制后,其他文件也使用,就好像 ctrl c 那样。可以使用如下快捷键:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"+y

先选中所有复制内容,然后按上述快捷键(注意「上述快捷键是三个字符」)即可复制到系统的剪切板中。

4.如果我想在新打开的文件中粘贴上一个文件中复制的内容呢?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"+p

4.插件

vim 优秀就优秀在它可以使用插件,然后打造出一款类似 PycharmIDE 工具。本文列举一些常用插件,具体安装对应 GitHub 上操作,自己 google 一下。

「插件管理工具」Vundle

「目录树」NERDTree

「搜索文件」CtrlP

「基于内容搜索文件」ack

「python函数跳转功能」ptags 可以查看我的文章『vim实现python函数跳转

「代码折叠」:这个不是插件,而是修改 .vimrc 配置文件,Google 一下

「代码补全」YCM (YouCompleteMe)

❝暂时就想起这么多,以后再扩展吧。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 全栈技术精选 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
学好vim一篇就够了-vi和vim的使用教程
它是一个老式的文字处理工具,但是功能很齐全,不仅是文本处理工具,还是一个程序编辑工具,就连官方网站也说vim是一个程序开发工具而不是文字处理软件,因为它包含了很多额外的功能,如:多文件编辑,区块复制等,这些功能让我们在进行配置文件修改的时候会更方便。今天就来一起学习一下vi和vim。
星哥玩云
2022/05/26
1.3K0
学好vim一篇就够了-vi和vim的使用教程
快速学习-Linux(VIM编辑器)
Vi编辑器是所有Unix及Linux系统下标准的编辑器,类似于windows系统下的notepad(记事本)编辑器,由于在Unix及Linux系统的任何版本,Vi编辑器是完全相同的,因此可以在其他任何介绍vi的地方都能进一步了解它,Vi也是Linux中最基本的文本编辑器,学会它后,我们将在Linux的世界里畅行无阻,尤其是在终端中。
cwl_java
2020/03/31
2.9K0
快速学习-Linux(VIM编辑器)
Linux命令之vim三种模式
①光标移动到行首 按键:shift + 6 或 ^(T字母上面的6,不要按小键盘的6)
兮动人
2021/06/11
3.8K0
Linux命令之vim三种模式
vim 文本编辑器[通俗易懂]
1) 模式转换 a) 【i】:在当前光标所在字符的前面,转为输入模式 b) 【a】:在当前光标所在字符的后面,转换为输入模式 c) 【o】:在当前光标所在行的下方,新建一行,并转换为输入模式: d) 【I】:在当前光标所在行的行首,转换为输入模式 e) 【A】:在当前光标所在行的行尾,转换为输入模式 f) 【O】:在当前光标所在行的上方,新建一行,并转换为输入模式; g) 【cc】删除当前行并输入新内容,相当于S。扩展【#cc】 h) 【C】删除当前光标到行尾,并切换成插入模式
全栈程序员站长
2022/09/06
4.5K0
vim 文本编辑器[通俗易懂]
Linux Vim编辑器的基本使用
vi(visual editor)编辑器通常被简称为vi,它是Linux和Unix系统上最基本的文本编辑器,类似于Windows 系统下的notepad(记事本)编辑器。
全栈程序员站长
2022/09/18
3.4K0
Linux Vim编辑器的基本使用
vim 编辑器
VIM和vi的区别 vim是vi的加强版,支持多级撤销和语法高亮和自动补全。 Command Mode命令模式 vim的默认模式,编辑器等待输入命令 命令 作用 n 显示搜索命令定位到的下一个字符串 N 显示搜索命令定位到的上一个字符串 o 在光标所在的行下方插入一行并切换到输入模式 gg 将光标移动到文档开头 G 将光标移动到文档末尾 ZZ 文件将保存并退出vim 逐字符移动 h:光标向左移动 l:光标先右移动 j:光标向下移动 k:关闭向上移动 复制yank yy:复制光标所在整行 5yy: 复
羊羽shine
2019/05/29
9830
不会vim?看这篇就够了!
vi编译器 是Unix和Linux系统的御用标准编辑器,在任何版本的Unix和Linux的操作系统下,vi编辑器功能完全相同,类似于windows系统的“记事本”。
CodeGoat24
2022/02/12
3.6K0
不会vim?看这篇就够了!
Vim编辑器
这次浅聊一下 Vim编辑器,它是由 vi 发展演变过来的文本编辑器,是 Linux众多发行版的默认文本编辑器。内容如下。
reload
2024/01/28
1.2K0
Vim编辑器
Linux命令(34)——vim命令
vim是Unix和类Unix操作系统中最通用的全屏幕纯文本编辑器,它是vi的增强版(vi iMproved),与vi编辑器完全兼容,而且实现了很多增强功能。
恋喵大鲤鱼
2019/02/22
8K0
Linux命令(34)——vim命令
vim精简版教程
vim编辑器 vim trree 编辑器的分类 文本编辑器,ASCII码 字处理器:word 全称 vi:Visual interface vim: Visual interface improved
若与
2018/04/25
2.5K0
vim精简版教程
Linux命令(34)——vim命令
vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。Linux中的vi编辑器叫vim,它是vi的增强版(vi iMproved),与vi编辑器完全兼容,而且实现了很多增强功能。 vim编辑器支持编辑模式和命令模式,编辑模式下可以完成文本的编辑功能,命令模式下可以完成对文件的操作命令,要正确使用vim编辑器就必须熟练掌握着两种模式的切换。默认情况下,打开vim编辑器后自动进入命令模式。从编辑模式切换到命令模式使用”ESC”键,从命令模式切换到编辑模式使用”A”、”a”、”O”、”o”、”I”、”i”键。
恋喵大鲤鱼
2018/08/03
2.7K0
Linux命令(34)——vim命令
统信桌面、服务器操作系统【vim编辑器】使用介绍
vim是Linux系统内置的【文本编辑器】,用于查看或编辑文件的内容,学会使用vim编辑器,有助于增加日常运维的便捷性。
Kevin song
2024/04/29
1.2K0
统信桌面、服务器操作系统【vim编辑器】使用介绍
vi与vim的区别以及常用命令
vi编辑器只能运行于unix中,而vim不仅可以运行于unix,还可用于windows、mac等多操作平台。
挨踢小子部落阁
2020/03/25
3K0
Linux系统VIM编辑器管理
在 Linux 的世界中,绝大部分的配置文件都是以 ASCII 的纯文本形态存在,因此利用简单的文字编辑软件就能够修改设定了,与微软的 Windows 系统不同的是,如果你用惯了 Microsoft Word 或 Corel Wordperfect 的话,那么除了 X window 里面的图形接口编辑程序,用起来尚可应付外,在 Linux 的文本模式下,会觉得文书编辑程序都没有窗口接口来的直观与方便.
王 瑞
2022/12/28
1.5K0
vim编辑器使用教程
vim 是 Linux 系统内置的「文本编辑器」,用于查看或编辑文件的内容,学会使用 vim 编辑器,将在 Linux 终端中畅通无阻。
Gnep@97
2023/08/10
7.3K0
vim编辑器使用教程
Linux —vim 编辑器
vi编辑器是linux和unix上最基本的文本编辑器,工作在字符模式下。由于不需要图形界面,vi是效率很高的文本编辑器。尽管在linux上也有很多图形界面的编辑器可用,但vi在系统和服务器管理中的功能是那些图形编辑器所无法比拟的。
Alone-林
2022/08/20
5.7K0
【Linux基础知识】Linux文件编辑器:Vim与Emacs的使用技巧
在Linux系统中,文件编辑是日常操作中极为重要的一环。Vim和Emacs作为两款经典且强大的文件编辑器,拥有众多的使用技巧,熟练掌握它们能够极大地提高工作效率。本文将深入探讨Vim与Emacs的使用技巧,并通过演示代码来帮助读者更好地理解和应用。
鸽芷咕
2025/05/31
1050
程序员必备vim编辑器命令,你想要的我都整理好了(建议收藏)
上个月组内来了一个新的小伙伴,赶巧那个时候我休假了!当我休完假来的时候,这个新小伙伴成了我同桌,然后就是一起做项目咯。就在昨天我们在配置环境,修改各种配置文件的时候;小伙伴看到我各种vim的快捷指令使用,有点惊讶了:“卧槽,你怎么做到记得这么清楚的?这谁能记得住?教教我呗?”。
我是阿沐
2021/07/08
1.1K0
Linux04:(4.6k)vim编辑器「建议收藏」
提醒:尝试对passwd文件进行修改练习时,不要直接修改,先拷贝一个到根目录,再进行练习操作
全栈程序员站长
2022/09/22
1.8K0
Linux04:(4.6k)vim编辑器「建议收藏」
编辑器-vi、vim的使用
vi编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下。由于不需要图形界面,vi是效率很高的文本编辑器。尽管在Linux上也有很多图形界面的编辑器可用,但vi在系统和服务器管理中的功能是那些图形编辑器所无法比拟的。
狼啸风云
2019/10/28
1.5K0
编辑器-vi、vim的使用
相关推荐
学好vim一篇就够了-vi和vim的使用教程
更多 >
LV.1
北京博奥瑞科技有限公司全栈开发工程师
交个朋友
加入HAI高性能应用服务器交流群
探索HAI应用新境界 共享实践心得
加入腾讯云技术交流站
洞悉AI新动向 Get大咖技术交流群
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验