• Vim 常用指令


    Vim 是一款功能强大且高度可定制的文本编辑器。其高效的编辑方式使其成为许多程序员和系统管理员的首选。

    1. Vim 的基本模式

    Vim 具有以下几种基本模式:

    • 正常模式(Normal mode):用于浏览和编辑文本(按 ESC 进入)
    • 插入模式(Insert mode):用于插入文本(按 i 进入)
    • 命令模式(Command mode):用于输入命令(按 : 进入)
    • 可视模式(Visual mode):用于选择文本(按 v 进入)

    2. 基本操作命令

    移动光标
    • h:向左移动
    • j:向下移动
    • k:向上移动
    • l:向右移动
    • w:移动到下一个单词的开头
    • b:移动到上一个单词的开头
    • 0:移动到行首
    • $:移动到行尾
    进入插入模式
    • i:在光标前插入
    • I:在行首插入
    • a:在光标后插入
    • A:在行尾插入
    • o:在当前行下方插入新行
    • O:在当前行上方插入新行
    退出插入模式
    • ESC:返回正常模式

    3. 文本编辑命令

    删除文本
    • x:删除光标处的字符
    • dd:删除当前行
    • dw:删除光标后的一个单词
    • d$:删除光标到行尾的所有内容
    复制和粘贴
    • yy:复制当前行
    • yw:复制一个单词
    • y$:复制光标到行尾的内容
    • p:在光标后粘贴
    撤销和重做
    • u:撤销
    • Ctrl + r:重做

    4. 搜索与替换

    搜索
    • /text:搜索模式 text,按 n 跳到下一个匹配,按 N 跳到上一个匹配
    • ?text:向上搜索模式 text,按 n 跳到上一个匹配,按 N 跳到下一个匹配
    替换
    • :s/old/new/g:替换当前行的所有 oldnew
    • :%s/old/new/g:替换整个文件的所有 oldnew
    • :%s/old/new/gc:替换整个文件的所有 oldnew,并在每次替换前询问确认

    5. 可视模式

    进入可视模式
    • v:进入字符可视模式
    • V:进入行可视模式
    • Ctrl + v:进入块可视模式
    可视模式操作
    • d:删除选中的文本
    • y:复制选中的文本
    • >:增加缩进
    • <:减少缩进

    6. 文件操作

    打开和保存文件
    • :e filename:打开文件 filename
    • :w:保存文件
    • :w filename:另存为文件 filename
    • :q:退出 Vim
    • :wq:保存并退出
    • :q!:不保存强制退出
    分屏操作
    • :split :sp:水平分屏
    • :vsplit:vsp:垂直分屏
    • Ctrl + w, w:在分屏之间切换
    • Ctrl + w, q:关闭当前分屏

    7. Vim 配置和插件

    配置 Vim

    Vim 的配置文件是 ~/.vimrc。一些常用配置示例:

    1. set number " 显示行号
    2. syntax on " 启用语法高亮
    3. set tabstop=4 " 制表符宽度为4
    4. set shiftwidth=4 " 自动缩进宽度为4
    5. set expandtab " 将制表符转换为空格
    6. set autoindent " 自动缩进
    7. set smartindent " 智能缩进
    安装插件

    可以使用插件管理器(如 Vim-Plug)来管理 Vim 插件。

    ~/.vimrc 中添加以下内容来安装 Vim-Plug:

    1. call plug#begin('~/.vim/plugged')
    2. Plug 'preservim/nerdtree' " 文件浏览器插件
    3. Plug 'junegunn/fzf.vim' " 模糊搜索插件
    4. Plug 'tpope/vim-fugitive' " Git 集成插件
    5. call plug#end()

    然后在 Vim 中运行 :PlugInstall 来安装插件。

  • 相关阅读:
    【已解决】ORA-00001: unique constraint (USR_JXZX_DSJKF_MODEL.SYS_C00912833) violated
    卷积神经网络图片放大,神经网络输入图片大小
    使用网络位置限制,保护公司数据安全
    【零基础学Java】第二十篇 包装类3(Math,Arrays,System,BigInteger,BigDecimal,日期)
    4.vue知识点vuex
    面试--springboot基础
    从哈希表到红黑树:探讨 epoll 是如何管理事件的?
    软件测试:写一个好的测试用例
    北鲲教程 | 基于扩展有限元的混凝土受力开裂计算分析
    Python浪漫星空
  • 原文地址:https://blog.csdn.net/m0_74091159/article/details/139636071