Skip to main content

vim基础入门

SmartDeng...About 4 minLinuxvim

vim基础入门

在Linux中,终端是非常强大的,很多时候往往离不开在终端中编辑文件,此时,vim就会派上用场。默认的vim操作,对于很多初接触Linux的来说,可以说是专业劝退了,所以这篇主要讲讲vim的一些基础使用,高端配置(如,将vim配置成一个C/C++/Python IDE)后续更新接上。

个人使用vim的大概历程:

  1. 新手期,只会简单的normal, insert 切换,简单编辑文件,保存退出等操作。
  2. 学习vim命令,学习normal模式中的命令,visual选中,尝试脱离鼠标,使用键盘控制光标移动。(看完本博客的水平)
  3. 配置vim,安装语法高亮,补全等插件,作为终端查看代码的工具。
  4. 打造vim IDE,配置C/C++/Python开发环境,开始脱离vscode(vscode真的很好用,但vim用习惯了,也很爽)等工具,使用vim开发Python程序,编写代码。(现阶段)

vim安装

也许有些发行版默认没有安装vim,所以首先应该使用包管理器安装vim。

Ubuntu:

sudo apt install vim

Fedora/Centos:

sudo dnf install vim

或者:

sudo yum install vim

Arch Linux/Manjaro:

sudo pacman -S vim

安装完成后,终端输入:

vim 要编辑的文件名

如果vim后面没有接文件,则会进入空vim,也可以

vim简要介绍

vim有三种模式:normal, insert, visual

使用之前,特别提醒:

在vim中,请勿尝试使用ctrl + s,如果不小心已经按了,可以发现vim已经无法进行任何操作了,因为在vim中,这个表示vim休眠,可以再输入ctrl + q退出。

1. 模式切换

从上一节命令进入vim时,进入的是normal模式,这是vim基本模式,normal模式是vim其他两个模式的中间模式。

normal:

normal中,输入i 即可进入insert模式,可以看到vim左下角状态中,出现了insert,表示已经进入insert模式,按esc返回到normal模式。

insert:

normal中,输入v进入visual模式,同样可以看到左下角状态发生了改变,esc返回normal模式。

visual:

2. normal模式

刚进入vim时,是在normal模式下,在该模式下,你并不能进行编辑操作,此模式下的所有输入,会被vim当成命令来处理。所以,介绍一些该模式下的命令作用:

h j k l
这四个键是控制vim光标的基础键,分别为控制光标往左,下,上,右移动一个符号位置
x
按下x,vim会删除当前光标后面一个字符,相当于其他文本编辑器中的delete键

y
复制选中的文字(与visual模式相关,了解visual后再用)
p
粘贴vim缓冲区复制的文字,插入到当前光标所在处之后
d
按键d不是一个单独的命名,它是删除指令的前缀,一般需要再接一个命令,指定具体删除操作
如:
输入dd
表示删除当前光标所在的一整行
dj
删除当前行以及下一行
dk
删除当前行以及上一行
更多具体操作,可以查找更全面的vim命令详解

如前面介绍的输入i就会进入insert模式,进行模式的切换。

vim指令:

在normal模式下,单输入
:
可以看到,左下角状态栏中,出现:标志

: 组合指令中,常用两个,:q表示退出vim,:w表示保存当前文件

也可以:wq,表示保存并退出。

3. insert模式

从normal模式中,按下i即可进入insert模式,esc即可返回normal模式,在insert模式下,就是其他编辑器的正常编辑模式,可以进行正常的文档编辑操作,但请勿使用windows中的一些快捷键,在这里会有不同的响应。

4. visual模式

在正常模式中,输入v即可进入visual模式,该模式下,移动光标,可以选中文字,选中之后,便可使用y,d等命令进行复制或者删除等操作。

总结

​ vim是Linux终端文本编辑的灵魂,初接触可能不习惯,但其实工具都是在使用中逐渐养成习惯。vim有着众多图形界面编辑器所不可比拟的魅力,习惯了vim的使用,再加以一定的配置,完全可以实现终端中的IDE,只是配置和学习需要一定时间,像vscode等工具已经能很好的满足需求了。

​ 经常接触终端的Linux用户,都会接触到vim这个初看简陋,却极度暗含魅力的工具,一些基本vim使用可以说是必须学会的。

​ 关于vim更多配置和vim插件安装,等待后续更新。

Comments
  • Latest
  • Oldest
  • Hottest
Powered by Waline v3.1.3