Linux--vim


一.什么是vim

Vim(Vi IMproved)是一种文本编辑器,通常在Linux和其他类Unix操作系统中使用。它是Vi编辑器的增强版本,提供了更多的功能和定制选项。Vim具有强大的文本编辑和编程功能,支持语法高亮、代码折叠、宏录制、插件支持等功能,因此被广泛用于程序员、系统管理员和其他技术人员之间的文本编辑和编程任务中。Vim是一个命令行编辑器,但也有许多图形化界面的衍生版本。


1)vim

vim vi的升级版本.vi 文件名(vi方向键用不了)

vim 的官方网站 (welcome home : vim online) 自己也说 vim 是一个程序开发工具而不是文字处理软件。


2)安装vim

sudo apt install vim

这个命令的含义是在Linux系统上以管理员权限安装Vim文本编辑器。

sudo命令可以暂时获取管理员权限,

apt是Debian系Linux发行版上用来安装、升级、删除软件包的命令。"install"表示安装软件,

"vim"是要安装的软件包的名称。这条命令整体来说的意思就是在您的Linux系统上安装Vim文本编辑器。如果出错了:apt update:刷新软件源;出现"无法获得锁 之类的"sudo rm 文件名注意:删除多次


3)vim的三种模式

1.命令模式

2.插入模式(编辑模式)

3.末行模式

默认进入命令行模式;

用户刚刚启动vi/vim,便进入了命令模式.此状态下敲击键盘会被vim识别为命令,而非输入字符

(1)命令模式转为插入模式:

a:进入到当前光标后开始编辑

A:进入到当前光标所在的行末开始编辑

i:进入到当前光标位置开始编辑

I:进入到当前光标所在行的开头开始编辑;

o:进入到当前光标下一行开始编辑

O:进入到当前光标上一行进行编辑;

(2)命令模式转成末行模式

:对文本的设置或者保存工作;

/ 对文本进行全文向下搜索字符串

?对文本进行全文向下搜索字符串

4)vim末行模式的常用命令

:w 保存文本

:q 退出编辑

:wq保存并退出

:q!不保存(强制退出)

:w (路径) 文件名 另存为 路径可省略,省略了为当前路径下;

:n 跳转到第n行

补充命令:

:set nu 显示行号

:set nonu 取消行号

:set hlsearch 设置高亮搜索

:set nohlsearch 取消高亮搜索

:n,m s/oldstring/newstring 替换从n行到m行的第一个oldstring(比如一行出现多个,那么只替换每一行的第一个)

:n,m s/oldstring/newstring/g 替换从n行到m行的所有oldstring

(是否区分大小写,自己试(区分))

/string 向下搜索 ?string向上搜索

拓展:可以随着使用自己拓展一些命令;

5)vim/vi命令行模式的常用命令:(面试会用)

n dd:删除光标开始向下的n行;

n yy:拷贝光标开始向下的n行;

p:粘贴;

u:撤销上一次操作

ctrl+r:恢复上一次撤销操作;

r:替换一个字符;

快捷键:

shift+6:光标移动到当前行的开头;

shift+4:光标移动到当前行的末尾;

shift+g:光标移动到文本的最后一行;

gg:光标移动到第一行;

n shift +g:光标移动到第n行;

d n shift +g:删除光标到n行的内容;

y n shitf+g:拷贝光标到n行的内容;

d G:删除从光标开始到末尾的内容

补充命令(了解):

命令模式下:

l:向右挪动光标;j:向下移动光标k:向上移动光标;h:向左移动光标;

6)更改vim配置文件

配置文件是为一些计算机程序配置参数和初始值的设置;

更改vim配置文件方法:

用管理员的身份打开配置文件vimrc,

sudo vim /etc/vim/vimrc

然后将如下的配置选项写入到该文件中末尾:

set nuset tabstop=4

set softtabstop=4

set shiftwidth=4

set expandtabset smartindent

7).补充知识点(了解):

1.Vmware tools和共享文件夹(Linux和Windows进行数据传递的方法)

2.swap文件;(ls -a看看是否有此隐藏的交换文件)


本篇完!

相关推荐
FriendshipT2 小时前
Ubuntu 20.04 下使用 Ollama 本地部署 AI 大模型
linux·人工智能·python·深度学习·ubuntu
Ivan CloudBay2 小时前
网站为什么会使用缓存?
服务器·网络·缓存·云服务器
bellus-2 小时前
win11使用ubuntu 26.04
linux·运维·ubuntu
复园电子3 小时前
USB Over IP技术详解:基于USB服务器实现USB设备远程访问、重定向与集中管理
服务器·网络协议·tcp/ip
TlSfoward3 小时前
TLSFoward 能帮你看到什么 TLSFOWARD抓包工具
服务器·爬虫·网络协议·https
略略略咯咯3 小时前
centos更换镜像源
linux·运维·centos
j7~3 小时前
【Linux】二十七.线程篇四《Linux多线程编程:线程互斥(互斥量的底层到封装)、线程安全和冲入、死锁》---详解
linux·开发语言·c++·线程安全·死锁·线程互斥·重入
IKUN家族4 小时前
Spring MVC(三)
运维·服务器·spring boot·spring·servlet·java-ee
yunwei374 小时前
eBPF 入门实践教程第五十篇:使用 TCX Link 实现可组合的流量控制
linux·云原生·开源
Leon-Ning Liu4 小时前
【真实经验分享】ORA-12516 排查实录:共享服务器模式下 SHARED_SERVER_SESSIONS 不足引发的监听故障
运维·服务器·oracle