您当前的位置:首页 > 电脑百科 > 软件技术 > 软件技术

Linux神之编辑器VIM,史上最强编辑器!

时间:2023-01-08 13:22:51  来源:今日头条  作者:黑猫编程

什么是vim编辑器?

编程工作,离不开各种编辑器,每种语言都有适合自己的文本编辑器,比如Python/ target=_blank class=infotextkey>Python用PyCharm,C++用Visual Studio,前端开发用VS Code......

但是,如果需要一款综合性价比最高的编辑器,可以实现所有编程语言、文本文件操作,就要vim或者emacs。这是linux里面内置的终端编辑器,vim是vi的演变,vi是UNIX早期的文本编辑器。


 

vim优点:

1.终端操作,不需要图形化界面

2.效率高

3.快捷键丰富,可以在不使用鼠标、不脱离键盘情况下实现各种复杂的文本操作

学习vim时,首先掌握基础命令,可以实现简单程序编写,设置禁用鼠标,强制练习基础命令。有问题查阅笔记或者博客,逐渐了解、熟练。一般来说,使用基础功能即可,满足远程终端中的基础使用。而复杂功能不需要单独学习,使用相关的IDE更加方便,而且大多数IDE也可以设置支持vim模式。

项目开发一般都是在本地调试,测试项目成功,再进行服务器环境部署,上传代码,不会直接在服务端写程序,只需完成简单的更改。

# vim安装sudo apt install vimvim三种模式

  • 「命令模式」:可以进行删除、复制、粘贴等快捷操作。
  • 「编辑模式」:可以编辑文件内容。
  • 「末行模式」:可以通过命令操作文件,比如搜索、保存、退出等。

 


 


最基本使用流程

学习一款编辑器,一般来说并不是什么难事,只要选择文件-新建,写代码,保存,运行就可以,但是vim是Linux终端中的编辑器,没有任何图形化界面,这就意味着所有的操作都要通过命令完成,显然,我们需要掌握相当多的指令,且灵活熟练使用,才可以提升开发效率。

第1步,创建/打开文件:

使用指令vim 文件名,如果文件不存在,直接新建并打开,如果文件存在则直接打开编辑文件。


 

打开文件后,下方显示文件名,光标指向第一行,然而目前处于命令模式,一切操作皆为指令,并不能写程序。

如果要进入插入模式,有很多快捷键,我们当前只使用最基本操作,记住字母i就可以,i是insert插入的意思,按下后就会进入插入模式。


 

平面下方显示INSERT,此时,就可以愉快的写程序啦~


 

Linux并不以后缀名区分文件,我的文件命名为test.txt,后缀.txt在windows系统里面是文本文档,我的文件也就当作一个记事本,写入字符串Hello cat.

接下来就要保存退出,需要按键盘左上角ESC键,退回命令模式,然后输入冒号,需要按住Shift键组合使用。


 

然后在冒号后面输入wq命令,w是写入,也是保存的意思,q是quit退出的意思。

这样,vim的最基本使用就完成了,虽然vim学习曲线很陡峭,但是只要掌握最基本使用流程就可以快速的用vim工作,然后再逐渐掌握其他的快捷键或命令,提升开发效率。


 

退出后,查看当前目录,出现test.txt文件。那么如何查看文件,我们再来学习一个常用命令cat,cat 文件名就可以查看文件中的内容。


 

这样文件就已经查看成功啦,证明vim写入也是正确的。

vim配置文件

配置文件只需在home目录下创建一个.vimrc隐藏文件即可,然后进行个性化配置,这部分内容不必深入研究,主要是代码缩进,显示行号,括号匹配,支持鼠标等操作,直接网上搜索选择一个适合自己的配置即可,如下是我个人的当前配置,供大家复制粘贴~

"显示行号set nu"启动时隐去援助提示set shortmess=atI"语法高亮syntax on"使用vim的键盘模式"set nocompatible"不需要备份set nobackup"没有保存或文件只读时弹出确认set confirm"鼠标可用set mouse=a"tab缩进set tabstop=4set shiftwidth=4set expandtabset smarttab"文件自动检测外部更改set autoread"c文件自动缩进set cindent"自动对齐set autoindentset cindent"智能缩进set smartindent"高亮查找匹配set hlsearch"背景色set background=dark"显示匹配set showmatch"显示标尺,就是在右下角显示光标位置set ruler"去除vi的一致性set nocompatible"允许折叠set foldenable"""""""""""""""""设置折叠""""""""""""""""""""""根据语法折叠"set fdm=syntax"手动折叠"set fdm=manual"设置键盘映射,通过空格设置折叠nnoremap @=((foldclosed(line('.')<0)?'zc':'zo'))"不要闪烁set novisualbell"启动显示状态行set laststatus=2"浅色显示当前行autocmd InsertLeave * se nocul"用浅色高亮当前行autocmd InsertEnter * se cul"显示输入的命令set showcmd"被分割窗口之间显示空白set fillchars=vert:/set fillchars=stl:/set fillchars=stlnc:/let &termencoding=&encodingset fileencodings=utf-8,gbkinoremap ( ()iinoremap [ []iinoremap { {}iinoremap ' ''iinoremap " ""i命令模式

打开文件后,默认就是命令模式,可以进行光标移动、复制粘贴、搜索替换等操作。

注意:命令模式中,敲击的键盘会被识别为命令,而不是输入内容。

移动光标

指令

功能

h 或 左方向键(←)

光标向左移动一个字符

l 或 右方向键(→)

光标向右移动一个字符

k 或 上方向键(↑)

光标向上移动一个字符

j 或 下方向键(↓)

光标向下移动一个字符

Shift+6 或 0 或 home键

光标移动到行首

Shift+4 或 $ 或 end键

光标移动到行尾

Ctrl + f 或 pg up键

【屏幕】向下移动一页

Ctrl + b 或 pg dn键

【屏幕】向上移动一页

gg

移动到文件的第一行

G

移动到文件的最后一行

nG

移动到文件的第n行

四个方向键hjkl比较常用,很多初学者认为我用上下左右箭头也是很方便啊,实际上,长期使用vim最终会形成肌肉记忆,只管专注于写程序,手指可以完全不脱离键盘,更用不上鼠标,但是为了让初学者操作更加方便,我在配置文件中增加了set mouse=a,使得鼠标可以使用。
gg跳到第一行,G跳到最后一行也是高频使用的命令,数字+G,针对于文件比较大,我们要跳转到指定位置或者大概范围,比如跳转到第8行,按下数字8,再按下G。

搜索替换

指令

功能

/字符串 + 回车

向下搜索指定字符串

?字符串 + 回车

向上搜索指定字符串

n

继续向下搜索下一个字符串

N

继续向上搜索下一个字符串

%s/word1/word2/g

将文件中的word1替换为word2

%s/word1/word2/gc

将文件中的word1替换为word2,但替换前需要用户确认!

1,10s/word1/word2/g

将第1行到第10行的word1替换为word2

举个例子,搜索就是末行模式下,在冒号后面输入/root,我当前复制一份/etc/passwd存储用户名密码的文件,搜索root用户,这是Linux里面唯一一个最高权限用户。


 

搜索到的内容会高亮显示。如果后面还有root可以按下n选择下一个,即next。

复制粘贴删除

指令

功能

删除后一个字符(光标当前字符)

X

删除前一个字符

dd

剪切一行

ndd

剪切n行

yy

复制一行

nyy

复制n行

p

粘贴到下一行

P

粘贴到上一行

u

撤回操作

Ctrl+r

撤回刚才的撤回操作

r

修改单个字符

R

连续修改多个字符,ESC退出

.(小数点)

重复刚才的操作

编辑模式

指令

功能

i

进入输入模式,在光标前面插入

进入输入模式,在当前行首第一个非空格字符处插入

a

进入输入模式,在光标后面(当前光标所在字符)插入

A

进入输入模式,在当前行尾第处插入

o

进入输入模式,在光标下一行插入新行

O

进入输入模式,在光标上一行插入新行

ESC键

退出编辑模式(输入模式)

末行模式

英文状态的 :键 进入末行模式

命令模式 或 vim打开文件时,按下 : 键,左下角出现 :时,即表示末行模式。

指令

功能

:w

保存

:q

退出

:wq

保存后退出

:q!

不保存,强制退出

:set nu

显示行号

:set nonu

取消 显示行号

:w [文件名]

将编辑后的内容保存到另一个文件中(另存为)

:2,5 w [文件名]

将第2到5行的内容保存到另一个文件中(指定行另存为)

:r [文件名]

输入另一个文件的内容,到光标的下一行

视频讲解

vim的更多操作可以观看下方视频,按照步骤,一定会快速掌握,强制自己使用vim完成日常代码任务,一周左右就可以灵活使用啦~

 

 

  • 什么是Linux系统?我们是否要用Linux
  • Linux系统虚拟机和云服务配置,快速搭建学习环境
  • 学习Linix命令行,用手就行!


Tags:VIM   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
精通vi/vim编辑器:几个关键技巧
vi编辑器是Linux系统中常用的文本编辑器,对于系统管理员和程序员来说,掌握vi编辑器的常用技巧是非常必要的。本文将介绍一些vi编辑器的常用技巧,帮助读者提高编辑效率。进入vi...【详细内容】
2023-09-05  Search: VIM  点击:(250)  评论:(0)  加入收藏
Linux Vim常用命令总结 从入门到精通
Vim 是一款功能丰富的文本编辑器,拥有许多强大的命令和快捷键。以下是Vim中一些常用并且非常有用的命令和技巧:1.模式:普通模式:Vim的默认模式,用于导航和执行命令。插入模式:键入...【详细内容】
2023-08-10  Search: VIM  点击:(590)  评论:(0)  加入收藏
Linux神之编辑器VIM,史上最强编辑器!
什么是vim编辑器?做编程工作,离不开各种编辑器,每种语言都有适合自己的文本编辑器,比如Python用PyCharm,C++用Visual Studio,前端开发用VS Code......但是,如果需要一款综合性价比...【详细内容】
2023-01-08  Search: VIM  点击:(333)  评论:(0)  加入收藏
Linux常用命令(vim+权限+磁盘+网络)
常用命令cd - 可以快速回到上个目录ls -l /proc/PID 查看当前进程详细信息ls -hal h 文件容量易读模式du -sh 文件夹路径 查看使用量touch -t "202101011200" aaa.txt...【详细内容】
2022-10-24  Search: VIM  点击:(387)  评论:(0)  加入收藏
Vim到底可以配置得多漂亮?
DevWeekly收集整理每周优质开发者内容,包括开源项目、工具资源、技术文章等方面,每周五首发于GitHub - Jackpopc/DevWeekly: 每周五发布,精选优质开发者内容,包括开源项目、工...【详细内容】
2022-07-24  Search: VIM  点击:(537)  评论:(0)  加入收藏
Linux下vim各模式的操作你了解吗
前言学习linux少不了和vim打交道,今天我们就来了解一下什么是vim,如何高效使用vim以及如何配置vim。vi和vim都是linux下多模式的编辑器,两者关系类似于c/c++的关系,vim是vi的升...【详细内容】
2022-07-04  Search: VIM  点击:(425)  评论:(0)  加入收藏
VS Code - Vim 插件自动切换输入法
前言: 在使用 Linux 的过程中,vim 是一个不错的编辑器,以至于多数人将其用成了习惯,在没有 vim 的环境下还是习惯用 vim 的快捷键来编辑文本。所以便有开发者们为众多的 IDE 和...【详细内容】
2022-06-05  Search: VIM  点击:(357)  评论:(0)  加入收藏
Linux开发工具(yum、vim、gcc/g++、gdb、make/makefile)
一、软件包管理器yum1.什么是软件包在Linux下安装软件, 通常的办法是下载程序的源代码、编译、得到可执行程序。但是这样麻烦、不便于操作,于是一些人把常用的软件提前编译好...【详细内容】
2022-04-07  Search: VIM  点击:(313)  评论:(0)  加入收藏
vim 技巧 及缩进
vim如何选中多行后批量缩进1. ”shift+v“选中行2. 使用"=="进行缩进 带来的问题是:可能很多时候默认都是table【而我想要的是4个空格或者8个空格】所以继续下面: 永久设置TAB...【详细内容】
2021-04-12  Search: VIM  点击:(716)  评论:(0)  加入收藏
不会vi/vim,看这一篇足矣
今日分享:Don&#39;t allow your rituals to become ruts. -- Todd Henry❞ vi/vim 的重要性不言而喻,比如登录服务器操作。那么如何掌握呢?看这一篇足矣。1.介绍vi/vim 是 Linu...【详细内容】
2020-07-04  Search: VIM  点击:(408)  评论:(0)  加入收藏
▌简易百科推荐
如何在Windows 10中查看电脑的名称?这里提供详细步骤
你想在有多台计算机组成的网络上查找你的计算机吗?一种方法是找到你的电脑名称,然后在网络上匹配该名称。下面是如何在Windows 10中使用图形和命令行方法查看你的计算机名称。...【详细内容】
2024-04-10  驾驭信息纵横科技    Tags:Windows 10   点击:(2)  评论:(0)  加入收藏
移动版 Outlook 解锁新技能,可验证登录 OneDrive 等微软服务
IT之家 4 月 9 日消息,微软公司近日发布新闻稿,宣布用户可以使用 Outlook 手机应用,轻松登录 Teams、OneDrive、Microsoft 365 以及 Windows 等微软账号服务。移动端 Outlook...【详细内容】
2024-04-09    IT之家  Tags:Outlook   点击:(3)  评论:(0)  加入收藏
Win10/Win11和 macOS用户反馈:谷歌云服务“捆绑”系统 DNS 设置
IT之家 4 月 6 日消息,谷歌公司承认旗下的 Google One 订阅服务中存在问题,在 Windows 10、Windows 11 以及 macOS 系统上会更改系统 DNS 设置,变更为 8.8.8.8 地址。Google On...【详细内容】
2024-04-08    IT之家  Tags:Win10   点击:(7)  评论:(0)  加入收藏
电脑卡顿怎么重装系统,快看这篇
电脑卡顿时,重装系统确实是一种可能的解决方案。以下是重装系统的详细步骤:备份重要数据:首先,你需要将电脑中的重要文件和数据备份到外部存储设备(如U盘、移动硬盘或云存储)中,以...【详细内容】
2024-04-04  科技数码前锋    Tags:重装系统   点击:(2)  评论:(0)  加入收藏
如何检查电脑的最近历史记录?这里提供详细步骤
如果你怀疑有人在使用你的计算机,并且你想查看他们在做什么,下面是如何查看是否有访问内容的痕迹。如何检查我的计算机的最近历史记录要检查计算机的最近历史记录,应该从web浏...【详细内容】
2024-03-30  驾驭信息纵横科技    Tags:历史记录   点击:(1)  评论:(0)  加入收藏
关于Windows中AppData的相关知识,看这篇文章就可以了
如果AppData文件夹占用了你电脑上的太多空间,则需要清理AppData文件夹。下面是一些帮助你在Windows计算机上进行AppData清理的方法。什么是AppData文件夹AppData文件夹是保存...【详细内容】
2024-03-30  驾驭信息纵横科技    Tags:AppData   点击:(3)  评论:(0)  加入收藏
微软 Edge 浏览器将迎来“内存限制器”功能,用户可自主控制 Edge 内存占用
IT之家 3 月 28 日消息,微软即将为其 Edge 浏览器带来一项实用新功能,据悉该公司正在测试一项内置的内存限制器,这项功能可以让用户限制 Edge 所占用的内存,防止浏览器超出内存...【详细内容】
2024-03-29    IT之家  Tags:Edge   点击:(15)  评论:(0)  加入收藏
一寸照片的大小如何压缩?四个实测效果很好的方法
一寸照片作为生活中常见的尺寸之一,常用于各类证件照与证明文件的制作。然而,受限于其较为狭小的尺寸,上传及打印过程中很容易出现尺寸超限的情况。所以,这个时候就需要对其体积...【详细内容】
2024-03-18  宠物小阿涛    Tags:压缩   点击:(14)  评论:(0)  加入收藏
手机投屏到电脑/电视的方法
方法一:Win10自带的投影功能1、将手机和电脑连接同一个无线网络。2、选择【开始】>【设置】>【系统】>【投影到此电脑】3、将默认的始终关闭的选项更改为所有位置都可用。4、...【详细内容】
2024-03-18    老吴讲I  Tags:投屏   点击:(17)  评论:(0)  加入收藏
微软商店怎么卸载应用 一分钟快速看懂!
微软商店怎么卸载应用 一分钟快速看懂!微软公司(Microsoft Corporation)是一家全球领先的科技企业,总部位于美国华盛顿州的雷德蒙德。成立于1975年,由比尔&middot;盖茨和保罗&mid...【详细内容】
2024-02-27  婷婷说体育    Tags:微软商店   点击:(38)  评论:(0)  加入收藏
站内最新
站内热门
站内头条