基本 VIM 操作指令

[VIM]VIM/GVIM中代码的折叠和打开 VIM/GVIM代码折叠功能详解:文章介绍了VIM编辑器中的代码折叠功能,可帮助处理冗长代码。详细讲解了6种折叠方式(manual/indent/expr/syntax/diff/marker),重点演示了marker方式的基本操作:使用zf创建折叠、zR/zM开关全部折叠、zE删除折叠标记。文章还提供了常用折叠命令如zc/zo(开关单个折叠)、zj/zk(在折叠间移动)等,并说明可将折叠设置写入.vimrc实现自动加载。特别提醒不同折叠方式互不兼容,建议根据代码特点选择合适方式(如indent适合缩进代码 阅读详情

本文出处:http://homepage.ttu.edu.tw/u9106240/page_main/vim_menu.html#move_mouse

基本 VIM 操作指令

本頁最近更新日期:2007/8/25


註:以下指令若無特別標示,皆在「 命令模式」下輸入
快速選單: 
  •             
  •  
  •  
  •  
  •  
  •  
  •  
  •   
  • 回上一頁


    § 進入輸入模式

    在命令模式下輸入以下指令,程式將會進入輸入(insert)模式
    此時使用者便可以修改文件檔,
    若想跳出輸入模式,則鍵入<ESC>即可回到命令模式。

    i
    在游標左方進入輸入模式

    I
    在游標所在行的行首進入輸入模式

    a
    在游標右方進入輸入模式

    A
    在游標所在行的行尾進入輸入模式

    o(小寫英文字母 o)
    在游標下一行另起新行,並進入輸入模式

    O(大寫英文字母 o)
    在游標上一行另起新行,並進入輸入模式

    回頂端


    § 移動游標

    k
    向上移動游標一個字元
    也就是方向鍵的「↑」

    j
    向下移動游標一個字元
    也就是方向鍵的「↓」

    h
    向左移動游標一個字元
    也就是方向鍵的「←」

    l
    向右移動游標一個字元
    也就是方向鍵的「→」

    H
    將游標移至螢幕頂端

    M
    將游標移至螢幕中央

    L
    將游標移至螢幕底端

    :數字
    將游標移至檔案第 數字 行
    如輸入 :45,即移動至檔案第 45 行

    數字 G
    將游標移至檔案第 數字 行
    如輸入 45G,即移動至檔案第 45 行

    gg
    將游標移至檔案第一行

    G
    將游標移至檔案最後一行

    b
    移動游標至該單字的第一個字母
    若該處已是該單字第一個字母,則游標會移至前一個單字的第一個字母

    e
    移動游標至該單字的最後一個字母
    若該處已是該單字最後一個字母,則游標會移至下一個單字的最後一個字母

    w
    移動游標至下一個單字的第一個字母

    ^
    移動游標至該行第一個非空白字母

    回頂端


    § 捲動視窗

    <ctrl>+f
    將視窗向下捲動一半

    <ctrl>+b
    將視窗向上捲動一半

    <ctrl>+d
    將視窗往下捲動一頁
    功能類似鍵盤中的<PageDown>

    <ctrl>+u
    將視窗往上捲動一頁
    功能類似鍵盤中的<PageUp>

    回頂端


    § 搜尋文字

    /字串
    向下搜尋字串
    下達此命令之後,若文件中包含該「字串」,則文件中所有「字串」的背景顏色會被置換成較鮮明的顏色,在下達完搜尋指令之後,還可以透過「n」和「N」指令作進一步控制。
    ◎ n 跳到下一個「字串」所在地
    ◎ N 跳到上一個「字串」所在地
    另外,把游標停在想要搜尋的字串上,按下「*」也可以達到向下搜尋的效果。

    ?字串
    向上搜尋字串
    下達此命令之後,若文件中包含該「字串」,則文件中所有「字串」的背景顏色會被置換成較鮮明的顏色,在下達完搜尋指令之後,還可以透過「n」和「N」指令作進一步控制。
    ◎ n 跳到上一個「字串」所在地
    ◎ N 跳到下一個「字串」所在地
    另外,把游標停在想要搜尋的字串上,按下「#」也可以達到向上搜尋的效果。

    回頂端


    § 複製、移動、刪除文字

    yy
    將該行文字複製
    指令 Y 有相同的功能

    p
    將所剪下或複製的文字貼上

    行數1, 行數2 co 行數3
    將 行數1 到 行數2 之間所有的字元複製至 行數3
    ※注意:行數3 必須原本就存在,否則此命令將無效!
    如: 原本的文件:

    輸入指令:1, 3 co 3 之後,將會變成

    <BackSpace>(在輸入模式下使用)
    將游標左邊一個文字刪除

    dd
    將該行文字刪除
    此項指令可與指令 p (貼上)配合使用
    而變成是「剪下」的功能

    dw
    刪除該單字

    cc
    將該行文字改變
    當輸入此指令時,游標所在該行會被刪除,並自動進入「輸入模式」

    cw
    改變該單字
    當輸入此指令時,該單字在游標之後的字元會被刪除,並自動進入「輸入模式」

    D
    將游標所在該行中右邊的所有文字全部刪除

    <ctrl>+w(在輸入模式下)
    將游標所在該單字中左邊的所有字元全部刪除

    行數1, 行數2 m 行數3
    將 行數1 到 行數2 之間所有的字元移動到 行數3
    ※注意:行數3 必須原本就存在,否則此命令將無效!
    如: 原本的文件:

    輸入指令:1, 3 m 6 之後,將會變成

    行數1, 行數2 d
    將 行數1 到 行數2 之間所有的字元刪除
    如: 原本的文件:

    輸入指令:2, 4 d 之後,將會變成

    :g/被替代的字串/s//新字串/g
    用「新字串」取代「被替代的字串」
    如: 原本的文件:

    輸入指令:g/is/s//is not/g 之後,將會變成

    回頂端


    § 存取檔案 & 離開 VI 程式

    :q
    不儲存修改地離開 VI 程式
    若是沒有對文件做任何修改,使用 :q 即可跳出,
    但若修改過文件內容則必須使用 :q! 指令才能成功地不儲存離開。

    :q!
    不儲存修改地離開 VI 程式

    :w
    儲存目前所編輯的文件

    :w 檔案名稱
    將目前所編輯的文件另存新檔至「檔案名稱」

    :wq
    儲存目前所編輯的文件,並離開 VI 程式

    :x
    儲存目前所編輯的文件,並離開 VI 程式
    功能與 :wq 相同。

    回頂端


    § 其他指令

    u
    動作還原
    若不小心下錯指令,可以利用這個指令還原。 

    K
    函式查詢
    若您在 VIM 中撰寫 C/C++ 程式,可以在 C/C++ 標準函式厙提供的函式名字上按「K」,便可以呼叫出 man page 查詢該函式的用法 

    =
    自動程式縮排對齊
    若您在 VIM 中撰寫 C/C++ 程式,可以利用「gg」指令將游標移到視窗最上方、利用「v」切換到選取模式、再用「G」將游標移到檔案尾端 (即達到全選的功能),最後按「=」,VIM 便會幫你的程式做自動對齊 

    <ctrl>+r
    動作重做
    若不小心還原錯了,可以利用這個指令重做。 

    :set all
    顯示所有參數
    可透過此指令查詢 VIM 支援的所有參數。
    若在執行 VIM 程式期間,透過「:set 參數」的方式來設定參數,在每次開啟 VIM 程式時都必須再重新設定一次,若想要讓 VIM 在每次啟動時,都能夠自動載入使用者的設定,則可以在使用者的家目錄下,建立一個名為 「.vimrc」的檔案來存放個人 VIM 的設定。
    如:建立一個檔案「vi /home/kevin/.vimrc」,檔案內容為:

    此設定中,第一行代表設定字體顏色為適用黑色背景之顏色,第二行表示開啟自動縮排功能,第三行表示開啟顯示行號功能 

     

    :set nu
    顯示行數
    若想知道文件的行數,可下達這項指令。 

    :set nonu
    隱藏行數
    若想隱藏文件的行數,可下達這項指令。 

    :set autoindent
    自動縮排功能
    開啟此功能之後,按下 enter 鍵所產生的新行,會複製前一行最前方的 tab 和 space 數量,以達到對齊的目的。此功能可透過「:set noautoindent」關閉 

    :set tabstop=數字
    設定 tab 對齊的字元數
    一般 VIM 設定中,tabstop 的預設值為 8,但在 windows 下,許多文字編輯軟體的預設 tabstop 數為 4,若想要把 VIM 的 tab 對齊字元數變更為 4,可以在 VIM 的命令模式下,下達 「:set tabstop=4」指令

    :set background=模式
    設定 keyword 字體顏色模式
    使用「:set background=dark」指令可以讓 VIM 中的 keyword 以較亮眼的顏色表現出來,適用於暗色系的背景。 使用「:set background=light」指令可以讓 VIM 中的 keyword 以較暗沉的顏色表現出來,適用於亮色系的背景。 

    :split [檔案名稱]
    水平分割文字編輯視窗
    若有指定「檔案名稱」,則新視窗會開啟該檔案; 若沒有指定,則新視窗仍會開啟原檔案。
    另外,在編輯視窗中可以利用 <ctrl>+w 配合方向鍵跳躍選取所要編輯的視窗,
    若想要關閉視窗,則在欲關閉視窗裡的命令模式下,
    打入離開指令,如: :wq 即可關閉該視窗。

    :vsplit [檔案名稱]
    垂直分割文字編輯視窗
    若有指定「檔案名稱」,則新視窗會開啟該檔案; 若沒有指定,則新視窗仍會開啟原檔案。
    另外,在編輯視窗中可以利用 <ctrl>+w 配合方向鍵跳躍選取所要編輯的視窗,
    若想要關閉視窗,則在欲關閉視窗裡的命令模式下,
    打入離開指令,如: :wq 即可關閉該視窗。

    回頂端


    模拟IC实战—30天精通Sigma-delta(Σ-Δ) ADC 行为级建模与仿真 本文为模拟IC工程师提供了一套为期30天的Sigma-delta ADC行为级建模与仿真实战指南。文章深入浅出地阐释了Sigma-delta ADC如何通过过采样和噪声整形两大核心技术实现高精度转换,并重点演示了如何使用Python从零搭建一阶和二阶调制器模型,进行性能仿真与关键指标分析,为后续电路级设计提供清晰的性能预算和架构指导。 阅读详情

    相关推荐

    【AUTOSAR】MCU Port的配置(MCAL)【EB】

    熟悉Classic AUTOSAR架构的朋友应该知道,经常需要用到MCU中的Port这个模块。那么如何通过工具快速配置一个Port呢?

    xinsuiwodong2014的博客 9512

    vim复制多行和删除多行的方法

    方法1: 光标放到第6行, 输入:2yy 光标放到第9行, 输入:p 此方法适合复制少量行文本的情况,复制第6行(包括)下面的2行数据,放到第9行下面。 方法2: 命令行模式下输入 6,9 co 12 复制第6行到第9行之间的内容到第12行后面。 方法3: 有时候不想费劲看多少行或复制大量行时,可以使用标签来替代 光标移到...

    一名高级工程师的博客 5070

    串口调试神器诞生记:我是如何用Cursor+AI自动生成C#上位机的(含VSCode插件清单)

    本文详细介绍了如何利用Cursor和AI技术快速开发C#上位机程序,实现高效的串口通讯调试。从开发环境搭建到代码自动生成,再到性能优化和功能增强,全面展示了AI辅助开发在串口调试中的实际应用和显著效率提升。

    weixin_28340315的博客 299

    vim复制,剪切觉得麻烦?今天就来教会你:vim复制和剪切教程

    上次讲了vim移动光标的快捷键,今天我们来了解一下vim的复制多行的功能。

    风烟 2387

    ubuntu18.04安装R——无法连接上 dl.google.com:80 (6.6.6.6),连接超时&&E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

    安装R的时候,sudo apt update 的时候出现错误: 查资料要修改/etc/apt/sources.list.d/google-chrome.list 文件 原来是: deb http://dl.google.com/linux/chrome/deb/ stable main 改为: deb [arch=amd64] http://dl.google.com/linux/chrom...

    许希律的博客 4347

    国产大模型 coding plan 实战决策指南:GLM、Kimi、豆包、abab 四大模型分层选型与工程落地

    大模型辅助编程(coding assistant)正从概念验证走向规模化工程落地,其核心已不再是‘能否生成代码’,而是‘如何在真实开发流程中精准赋能’。理解模型能力边界、匹配技术栈特征、构建分层工作流(L1行级补全/L2函数生成/L3模块重构),是实现稳定提效的关键。GLM系列以工程稳定性见长,适合代码审计与测试生成;Kimi-Max凭借200K超长上下文胜任深度重构与合规审查;豆包响应快、框架适配深,是IDE高频补全的理想选择;abab系列则在IoT固件等跨模态场景中展现独特价值。本文聚焦国产模型在金融、

    weixin_32238157的博客 427

    vim 删除、复制 多行

    一、多行 dd 删除一行 ndd 删除以当前行开始的n行 dw 删除以当前字符开始的一个字符 ndw 删除以当前字符开始的n个字符 d$、D 删除以当前字符开始的一行字符 d) 删除到下一句的开始 d} 删除到下一段的开始 d回车 删除2行 二、复制多行 任务:将第9行至第15行的数据,复制到第16行 方法1:(强烈推荐) :9,15 copy 1

    qing101hua的专栏 3492

    SPH vs Lagrange网格混合建模实战:用LS-DYNA模拟弹丸穿孔效应

    本文深入探讨了在LS-DYNA中运用SPH与Lagrange网格混合建模技术,高效模拟超高速碰撞下弹丸穿孔效应的实战方法。通过分析模型分区策略、耦合界面处理及关键参数设置,解决了传统方法在模拟大变形、材料断裂时的网格畸变或计算成本高昂问题,为相关工程仿真提供了兼顾精度与效率的解决方案。

    weixin_29211309的博客 108

    vim编辑器相关操作

    vim编译器相关操作

    雪绒~ 5133

    别再被systemd-resolved坑了!银河麒麟V10下用Bind9搭建内网DNS的完整避坑指南

    本文详细介绍了在银河麒麟V10和Ubuntu系统下部署Bind9 DNS服务器时,如何解决与systemd-resolved的端口冲突问题。提供了五种专业级解决方案,包括彻底禁用systemd-resolved、智能端口转发等,并特别针对银河麒麟V10的安全加固需求给出了配置建议和诊断工具,帮助用户高效搭建内网DNS服务。

    weixin_30342209的博客 654

    目标检测中回归损失函数(L1Loss,L2Loss,Smooth L1Loss,IOU,GIOU,DIOU,CIOU,EIOU,αIOU ,SIOU)

    为了解决CIoU的问题,有学者在CIOU的基础上将纵横比拆开,提出了EIOU Loss,并且加入Focal聚焦优质的预测框,与CIoU相似的,EIoU是损失函数的解决方案,只用于训练。在错误率小的地方,梯度的值也应当小,反之在错误率大的地方,梯度也应当大,因为这时候我们需要对错误率小的情况进行微调,而错误率大的地方进行大刀阔斧的调整;如下图所示,三种情况IoU都相等,但看得出来他们的重合度是不一样的,左边的图回归的效果最好,右边的最差。DIoU的作者考虑到,在两个框中心点重合时,c与d的值都不变。

    zyw2002的博客 6629

    Linux基本操作指令和vim编译器

    Linux基本操作指令和vim编译器

    2302_80908313的博客 897

    [RK3568 Android11] 教程之原厂SDK源码适配AIO-3568J板子跑起来

    目录 一、前提 二、修改dts设备树 三、适配板子的dts 四、编译系统烧入固件验证 一、前提 因源码是直接使用原厂的SDK,没有使用firefly配套的SDK源码,所以手上这块firefly aio-3568j板子在硬件设计上与原厂使用的板子会有些差异;就是因为这些差异会导致新固件烧入后,debug串口打印许多错误信息,可能的话,系统还会崩溃掉,跑不起来; 主要差异在哪里呢?比如: ● DDR类型和品牌多样性; ...

    ~未来可期~ 1744

    vim基本操作及其常用指令

    vim基本操作及其常用指令 1.       移动 Ctrl+f:向下移动一页             Ctrl+ b:向上移动一页 0:移动到这一行的最前面字符处 $:移动到这一行的最后字符处 G:移动到这个文件的最后一行 nG:n为数字,移动到这个文件的第n行 gg:移动到这个文件的第一行 n:n为数字,光标向下移动n行 2.       搜索与替换 /word——从光标位

    xiecan512的博客 543

    C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

    基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

    STM32F407中文手册

    STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

    yum的基本操作和vim指令

    在我们的手机端或者Windows上下载软件,可以在相应的应用商店或者官网进行下载,这样对于用户来说十分的方便和便捷。而在Linux上,也有类似的安装方式,我们来一一了解一下。

    weixin_71964451的博客 972

    jre9下载 jdk9

    (Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

    linux的基本操作指令和vim编译操作指令

    基本指令 ls

    琴桥的博客 244

    Data-Structures-and-Algorithm-Analysis-in-Java.pdf

    作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

    vim操作基本指令

    转自:http://blog.youkuaiyun.com/borefo/article/details/5017731 § 进入输入模式 在命令模式下输入以下指令,程序将会进入输入(insert)模式 此时使用者便可以修改文件档, 若想跳出输入模式,则键入即可回到命令模式。 i 在光标左方进入输入模式 I 在光标所在行的行首进入输入模式 a 在光标右方进入输入模式 A 在光标所在

    381

    Linux:环境搭建、基本指令操作、Vim 编辑器的使用

    在阿里云购买 ECS 云服务器,介绍了 Linux 操作系统的基本指令,以及 Vim 编辑器的相关知识和使用方法

    taiyang3285的博客 1660

    VIM的下载使用与基本指令【入门级别操作】

    VIM是一个轻量级的代码编辑器,本文将简单介绍VIM,以及它的使用指令。

    weixin_47510148的博客 1662

    vim的基本指令——命令模式基本操作

    vim命令模式的基本指令

    weixin_62521454的博客 1888

    Linux中vim 编辑器概念 配置 及基本操作指令

    vim概念及安装 什么是vim 如何安装vim 如何打开vim 配置vim(自动配置) vim的不同模式 正常模式(命令模式) 插入模式 替换模式 底行/末行模式 退出vim及文件保存 正常模式下命令 复制 剪切 粘贴 定位到文件内容首位 定位到文件内容第n行 定位到文件内容结尾 定位到当前行首位 定位到当前行末尾 光标按单词为单位移动 替换 删除 撤销 光标的上下左右 底行模式 查找字符或字符串 批量替换对应字符串 分屏编辑文件 分屏状态下光标如何切换

    ZhuGeBin26的博客 1276

    Linux基本操作指令 vi(vim)的操作指令(转载)

    转载自:https://www.runoob.com/linux/linux-vim.html Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。 但是目前我们使用比较多的是 vim 编辑器。 vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。 相关文章:史上最全Vim快捷键键位图 — 入门...

    qq_36071362的博客 294
    上一篇: vim多窗口操作shortcut
    下一篇: Linux时钟和时区
    sanlinux
    博客等级 码龄17年 92粉丝 158原创
    评论
    成就一亿技术人!
    拼手气红包6.0元
    还能输入1000个字符
     
     条评论被折叠 查看
    添加红包

    请填写红包祝福语或标题

    个

    红包个数最小为10个

    元

    红包金额最低5元

    当前余额3.43元 前往充值 >
    需支付:10.00元
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付元
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值