当前位置: 首页 > news >正文

linux-vim编辑器

linux-vim编辑器

  • 前言
  • 一、命令模式
    • 1. 跳转功能
    • 2. 文本编辑
    • 3. 模式切换
  • 二、输入模式
    • 1. 进入输入模式
    • 2. 快捷键
  • 三、末行模式
    • 1. 进入末行模式
    • 2. 文件操作
    • 3. 查找与替换
    • 4. 行操作
  • 四、替换模式
  • 五、可视模式
    • 1. 进入可视模式
    • 2. 文本操作
  • 六、相关配置


前言

vim - Vi IMproved, a programmer’s text editor
vi的升级版,程序员文本编辑器(工具)

作用:

  1. 在linux里新建文本文件,修改配置文件
    配置文件:configure file =》config
    作用:给某个程序传递参数
    ssh 是一个提供远程登录远程控制的服务–》运行起来后的进程叫sshd ssh daemon

  2. 写程序: c,python,go,java,html等
    集成开发工具:功能比较多,语法检查,高亮,直接调用背后环境去运行程序,安装软件包等
    pycharm
    goland
    IDE

启动:vim 文件名 或 vi 文件名(若文件不存在则创建)

退出

  • q 退出(未修改时)
  • q! 强制退出,不保存修改
  • wq 或 x 保存并退出

一、命令模式

启动后的默认模式,也是 Vim 的核心操作模式。主要用于导航、编辑命令的执行和模式切换

1. 跳转功能

操作类型操作键功能
光标方向移动上下左右方向键或
h(左) j(下) k(上) l(右)
移动光标位置
翻页Page Down 或 Ctrl+F
Page Up 或Ctrl+B
向下翻动一整页内容
向上翻动一整页内容
行内快速跳转Home键或 “^” 或数字“0”
End键或“$”键
跳转至行首
跳转至行尾
行间快速跳转1G或者gg
G
#G
跳转到文件的行首
跳转到文件的末尾行
跳转到文件中的第#行
文件内容查找输入 /word
n 下一个
N 上一个
查找word

2. 文本编辑

  • 删除
    删除单个字符: x、delete

    删除行:dd
    3dd

    d^ 删除当前光标之前到行首的所有字符 ^:行首
    d$ 删除当前光标之前到行尾的所有字符 $:行尾
    dw 删除一个单词,以空格冒号等符号

  • 复制
    yy 复制一行
    2yy 复制两行

  • 粘贴
    p 往下粘贴
    P 往上粘贴

  • 撤销
    u -->undo

  • 恢复
    Ctrl+r --> redo

  • 保存
    ZZ 保存当前文件并退出


3. 模式切换

  1. 进入命令模式
    vim 文件名    默认进入命令模式
    ESC键 或 Ctrl + [      从其他模式返回

  2. 进入输入模式
    a、i 、o 等键

  3. 进入末行模式
    : 键

  4. 进入可视模式
    v 键

  5. 进入替换模式
    R 键


二、输入模式

用于文本的直接输入,类似于常规编辑器的状态

1. 进入输入模式

i -> 在光标前插入 insert
a -> 在光标后插入
o -> 在光标所在行下新起一行并插入
O -> 在光标所在行上方新起一行并插入

I -> 在当前行的行首(第一个非空字符)插入
A -> 在当前行的行尾插入

s -> 删除当前字符并进入插入模式
S -> 删除整行并进入插入模式(等价于 cc)


2. 快捷键

Ctrl+h 删除前一个字符(等价于 Backspace)
Ctrl+w 删除前一个单词
Ctrl+u 删除至行首
Ctrl+n 自动补全下一个匹配项
Ctrl+p 自动补全上一个匹配项


三、末行模式

用于执行全局性命令的重要模式

1. 进入末行模式

在命令模式下按下 :(冒号)
-> 底部会显示 : 提示符


2. 文件操作

w -> 保存当前文件
w 新文件名 -> 另存为新文件
q -> 退出(仅当文件未修改时有效)
q! -> 强制退出,不保存修改
wq 或 x -> 保存并退出

e 文件名 -> 打开新文件(放弃当前修改)
e! -> 重新加载当前文件(丢弃所有修改)
r 文件路径 -> 导入文件
saveas 新文件名 另存为并继续编辑新文件


3. 查找与替换

:/sbin -> 向下查找sbin这个关键词并高亮显示
:?sbin -> 向上查找
n 显示下一个
N 显示上一个
取消高亮:查找一个不存在的word

: s /old/new/ 替换当前行第一个old为new
: s /old/new/g 整行替换
: 3,5s /old/new/ 替换3到5行
: %s /old/new/ 全部替换
: s /old//g 删除

: s /old/new/c 在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认 confirm
替换为 (y/n/a/q/l/E/Y)?
y 替换
n 不替换
a 全部替换


4. 行操作

: 1 跳转到第1行
: 5 跳转到第5行
: $ 跳转到最后一行

set nu(number) -> 显示行号
set nonu -> 不显示行号


四、替换模式

用于直接替换现有文本而不是插入

R -> 进入替换模式(覆盖式输入),按ESC退出
r -> 替换单个字符后返回(如 ra 将当前字符替换为 a)


五、可视模式

用于选中文本块,以便进行复制、删除、替换等批量操作

1. 进入可视模式

v -> 可视模式 visual --》选择一部分
V -> 可视行模式 VISUAL line --》选择行
ctrl+v -> 可视块模式 VISUAL block

2. 文本操作

d 删除选中文本(剪切到寄存器)
y 复制选中文本到寄存器
c 删除选中文本并进入插入模式
~ 切换选中文本的大小写
p 用寄存器内容替换选中文本

在选区内按 :
vim 会自动添加 :‘<,’> 前缀,表示对选区执行命令,命令操作同末行模式


六、相关配置

/root/.vimrc 可以给vim传递参数

vim /root/.vimrc
set nu  # 显示行号
set cursorline  # 高亮当前行
set ts=4  # Tab宽度为4个空格

合理配置 .vimrc,可以将 vim 定制成适合自己的高效编辑器

http://www.lryc.cn/news/573765.html

相关文章:

  • Perplexity AI:对话式搜索引擎的革新者与未来认知操作系统
  • 课程专注度分析系统文档
  • DNS:互联网世界的隐形电话簿——深入解析域名解析系统
  • rust单体web项目模板搭建
  • json格式化、验证、压缩和转换json数据
  • C++ 第二阶段:类与对象 - 第三节:成员函数与访问权限
  • 理解贝叶斯分析中的“模型比较”部分
  • 【ISP】WDR and HDR
  • Netty ChannelPipeline和ChannelHandler详解
  • 61-Oracle SQL Monitor-实操
  • 多源异构数据接入与实时分析:衡石科技的技术突破
  • RabbitMQ从入门到实践:消息队列核心原理与典型应用场景
  • Java基础 6.22
  • 开源 python 应用 开发(一)python、pip、pyAutogui、python opencv安装
  • 通达信【千军趋势决策系统】幅图指标
  • idea2023+zulu-jdk+maven3.9.10
  • 创建 Vue 3.0 项目的两种方法对比:npm init vue@latest vs npm init vite@latest
  • 新冠疫情分布动态展示图
  • 多设备Obsidian笔记同步:WebDAV与内网穿透技术高效实现教程
  • Javaweb - 3 CSS
  • 没掌握的知识点记录
  • 基于全志T133-s3 busybox 设置登录用户名及密码
  • 【队列】-----【简单的数据结构】
  • leetcode:面试题 08.06. 汉诺塔问题
  • 【unitrix】 4.1 类型级加一操作(Add1.rs)
  • 大模型应用:如何使用Langchain+Qwen部署一套Rag检索系统
  • 【教程】不同架构(armv7l等)下载Miniconda安装包
  • RA4M2开发IOT(11)----ADC检测电压
  • 如何用AI开发完整的小程序<10>—总结
  • webRTC源码配置和编译 + Vscode Intelligence配置